Class: Escher::Request::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/escher/request/base.rb

Direct Known Subclasses

HashRequest, RackRequest

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ Base

Returns a new instance of Base.



9
10
11
# File 'lib/escher/request/base.rb', line 9

def initialize(request)
  @request = request
end

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



5
6
7
# File 'lib/escher/request/base.rb', line 5

def request
  @request
end

Instance Method Details

#bodyObject



35
36
37
# File 'lib/escher/request/base.rb', line 35

def body
  raise("Implementation missing for #{__method__}")
end

#has_header?(name) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/escher/request/base.rb', line 15

def has_header?(name)
  not header(name).nil?
end

#header(name) ⇒ Object



21
22
23
24
25
# File 'lib/escher/request/base.rb', line 21

def header(name)
  header = headers.find { |(header_name, _)| header_name.downcase == name.downcase }
  return nil if header.nil?
  header[1]
end

#headersObject



41
42
43
# File 'lib/escher/request/base.rb', line 41

def headers
  raise('Implementation missing, should return array of array with [key,value] pairs')
end

#methodObject



29
30
31
# File 'lib/escher/request/base.rb', line 29

def method
  raise("Implementation missing for #{__method__}")
end

#pathObject



47
48
49
# File 'lib/escher/request/base.rb', line 47

def path
  raise("Implementation missing for #{__method__}")
end

#query_valuesObject



53
54
55
# File 'lib/escher/request/base.rb', line 53

def query_values
  raise("Implementation missing for #{__method__}")
end