Module: Rack::Cargo::RequestEnvBuilder

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

Class Method Summary collapse

Class Method Details

.call(request, state) ⇒ Object



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

def self.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(request[REQUEST_BODY].to_json)

  state[:request_env] = request_env
end