class Navigable::Server::Request
Constants
- PARSED_BODY
- ROUTER_PARAMS
Attributes
env[R]
Public Class Methods
new(env = nil)
click to toggle source
# File lib/navigable/server/request.rb, line 11 def initialize(env = nil) @env = env end
Public Instance Methods
headers()
click to toggle source
# File lib/navigable/server/request.rb, line 15 def headers @headers ||= env ? { accept_media_types: accept_media_types, preferred_media_type: preferred_media_type } : {} end
params()
click to toggle source
# File lib/navigable/server/request.rb, line 22 def params @params ||= env ? form_params.merge!(body_params).merge!(url_params) : {} end
Private Instance Methods
accept_media_types()
click to toggle source
# File lib/navigable/server/request.rb, line 28 def accept_media_types @accept_media_types ||= rack_request.accept_media_types end
body()
click to toggle source
# File lib/navigable/server/request.rb, line 48 def body @body ||= rack_request.body.read.tap { rack_request.body.rewind } end
body_params()
click to toggle source
# File lib/navigable/server/request.rb, line 40 def body_params symbolize_keys(parsed_body || {}) end
form_params()
click to toggle source
# File lib/navigable/server/request.rb, line 36 def form_params symbolize_keys(rack_request.params || {}) end
media_type()
click to toggle source
# File lib/navigable/server/request.rb, line 52 def media_type rack_request.media_type end
parsed_body()
click to toggle source
# File lib/navigable/server/request.rb, line 44 def parsed_body Parsers::Factory.build(media_type: media_type).parse(body) end
preferred_media_type()
click to toggle source
# File lib/navigable/server/request.rb, line 32 def preferred_media_type accept_media_types.first end
rack_request()
click to toggle source
# File lib/navigable/server/request.rb, line 64 def rack_request @rack_request ||= Rack::Request.new(env) end
symbolize_keys(hash)
click to toggle source
# File lib/navigable/server/request.rb, line 60 def symbolize_keys(hash) hash.each_with_object({}) { |(key, value), obj| obj[key.to_sym] = value } end
url_params()
click to toggle source
# File lib/navigable/server/request.rb, line 56 def url_params env[ROUTER_PARAMS] || {} end