Module: Rack::Cargo::RequestEnvBuilder

Defined in:
lib/rack/cargo/request_env_builder.rb

Class Method Summary collapse

Class Method Details

.call(request, state) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rack/cargo/request_env_builder.rb', line 9

def call(request, state)
  request_env = state.fetch(:env).deep_dup

  path, query_string = request[REQUEST_PATH].split("?", 2)
  request_env[ENV_PATH] = path
  request_env[ENV_QUERY_STRING] = query_string || ""
  request_env[ENV_METHOD] = request[REQUEST_METHOD]
  request_env[ENV_INPUT] = StringIO.new(
    io_input_from_request_body(request[REQUEST_BODY])
  )

  state[:request_env] = request_env
end