module Rack::Cargo::RequestEnvBuilder
Public Class Methods
call(request, state)
click to toggle source
# 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
Private Class Methods
io_input_from_request_body(request_body)
click to toggle source
Returns request_body as JSON if it's not nil, otherwise returns empty string.
# File lib/rack/cargo/request_env_builder.rb, line 27 def io_input_from_request_body(request_body) return "" if request_body.nil? request_body.to_json end