Class: Hi::Request
Overview
Wrapper for rack request that exposes headers and body string
Constant Summary collapse
- ATTRIBUTES =
[ :host, :ip, :port, :request_method, :scheme, :url, :query_string, :body, :content_length, :media_type, :referer, :user_agent, :xhr? ]
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
- #body_string ⇒ Object
- #headers ⇒ Object
-
#initialize(env) ⇒ Request
constructor
A new instance of Request.
- #to_h ⇒ Object
Constructor Details
#initialize(env) ⇒ Request
Returns a new instance of Request.
28 29 30 31 |
# File 'lib/hi/request.rb', line 28 def initialize(env) @env = env @request = Rack::Request.new(env) end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
26 27 28 |
# File 'lib/hi/request.rb', line 26 def env @env end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
26 27 28 |
# File 'lib/hi/request.rb', line 26 def request @request end |
Instance Method Details
#body_string ⇒ Object
37 38 39 |
# File 'lib/hi/request.rb', line 37 def body_string body.string if body end |
#headers ⇒ Object
33 34 35 |
# File 'lib/hi/request.rb', line 33 def headers env.select { |key| key.start_with? 'HTTP_' } end |
#to_h ⇒ Object
41 42 43 44 45 46 |
# File 'lib/hi/request.rb', line 41 def to_h request_hash.merge({ body: body_string, headers: headers, }) end |