Class: Escher::Request::RackRequest

Inherits:
Base
  • Object
show all
Includes:
DCI::RackEnv
Defined in:
lib/escher/request/rack_request.rb

Constant Summary

Constants included from DCI::RackEnv

DCI::RackEnv::CONSTANT_HTTP_HEADER_KEYS, DCI::RackEnv::CUSTOM_HTTP_HEADER_MATCHER

Instance Attribute Summary

Attributes inherited from Base

#request

Instance Method Summary collapse

Methods inherited from Base

#has_header?, #header

Constructor Details

#initialize(request_env) ⇒ RackRequest

Returns a new instance of RackRequest.



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

def initialize(request_env)
  super(request_env)
  @rack_request = request_env
end

Instance Method Details

#envObject



10
11
12
# File 'lib/escher/request/rack_request.rb', line 10

def env
  @rack_request.env
end

#headersObject



26
27
28
# File 'lib/escher/request/rack_request.rb', line 26

def headers
  @headers ||= get_headers_by_rack_env(@rack_request.env)
end

#hostObject



22
23
24
# File 'lib/escher/request/rack_request.rb', line 22

def host
  @rack_request.env[::Rack::HTTP_HOST]
end

#methodObject



30
31
32
# File 'lib/escher/request/rack_request.rb', line 30

def method
  @rack_request.request_method rescue @rack_request.env['REQUEST_METHOD']
end

#pathObject



18
19
20
# File 'lib/escher/request/rack_request.rb', line 18

def path
  @rack_request.env[::Rack::PATH_INFO]
end

#payloadObject Also known as: body



34
35
36
# File 'lib/escher/request/rack_request.rb', line 34

def payload
  @payload ||= fetch_payload
end

#query_valuesObject



40
41
42
# File 'lib/escher/request/rack_request.rb', line 40

def query_values
  Addressable::URI.new(:query => request.env['QUERY_STRING']).query_values(Array) or []
end

#rack_requestObject



14
15
16
# File 'lib/escher/request/rack_request.rb', line 14

def rack_request
  @rack_request
end

#set_header(header_name, value) ⇒ Object



44
45
# File 'lib/escher/request/rack_request.rb', line 44

def set_header(header_name, value)
end