Class: Hatetepe::Request
- Includes:
- EM::Deferrable
- Defined in:
- lib/hatetepe/request.rb
Instance Attribute Summary collapse
-
#response ⇒ Object
Returns the value of attribute response.
-
#uri ⇒ Object
Returns the value of attribute uri.
-
#verb ⇒ Object
Returns the value of attribute verb.
Attributes inherited from Message
#body, #connection, #headers, #http_version
Instance Method Summary collapse
-
#initialize(verb, uri, headers = {}, body = nil, http_version = "1.1") ⇒ Request
constructor
A new instance of Request.
- #to_a ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(verb, uri, headers = {}, body = nil, http_version = "1.1") ⇒ Request
Returns a new instance of Request.
10 11 12 13 14 |
# File 'lib/hatetepe/request.rb', line 10 def initialize(verb, uri, headers = {}, body = nil, http_version = "1.1") self.verb = verb @uri = uri super headers, body, http_version end |
Instance Attribute Details
#response ⇒ Object
Returns the value of attribute response.
8 9 10 |
# File 'lib/hatetepe/request.rb', line 8 def response @response end |
#uri ⇒ Object
Returns the value of attribute uri.
8 9 10 |
# File 'lib/hatetepe/request.rb', line 8 def uri @uri end |
#verb ⇒ Object
Returns the value of attribute verb.
7 8 9 |
# File 'lib/hatetepe/request.rb', line 7 def verb @verb end |
Instance Method Details
#to_a ⇒ Object
20 21 22 |
# File 'lib/hatetepe/request.rb', line 20 def to_a [verb, uri, headers, body, http_version] end |
#to_h ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/hatetepe/request.rb', line 24 def to_h { "rack.version" => [1, 0], "hatetepe.request" => self, "rack.input" => body, "REQUEST_METHOD" => verb.dup, "REQUEST_URI" => uri.dup }.tap do |hsh| headers.each do |key, value| key = key.upcase.gsub /[^A-Z]/, "_" key = "HTTP_#{key}" unless key =~ /^CONTENT_(TYPE|LENGTH)$/ hsh[key] = value.dup end hsh["REQUEST_PATH"], qm, hsh["QUERY_STRING"] = uri.partition("?") hsh["PATH_INFO"], hsh["SCRIPT_NAME"] = hsh["REQUEST_PATH"].dup, "" hsh["HTTP_VERSION"] = "HTTP/#{http_version}" end end |