Class: Request

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/app/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Request

Returns a new instance of Request.



2
3
4
5
6
# File 'lib/rack/app/request.rb', line 2

def initialize env
  @env = env
  @request = Rack::Request.new( env )
  @params  = params_for( env )
end

Instance Method Details

#params_for(env) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/rack/app/request.rb', line 8

def params_for env
  case env[ 'REQUEST_METHOD' ].to_sym
    when :GET
      Rack::Utils.parse_nested_query( env[ 'QUERY_STRING' ])
    when :POST, :PUT
      body = @request.body.read.to_s

      Rack::Utils.parse_nested_query( body ).symbolize_keys
  end
end

#responseObject



19
20
21
22
23
24
25
# File 'lib/rack/app/request.rb', line 19

def response
  routing = Rack::Routing::Router.for( @env )
  @url_params = routing[ :params ]
  
  rh = RequestHandler.new( @env, @params, @url_params )
  rh.send routing[ :method ]
end