class Rack::App::Middlewares::Configuration
Public Class Methods
new(app, config)
click to toggle source
# File lib/rack/app/middlewares/configuration.rb, line 6 def initialize(app, config) @app = app || raise @serializer = config.serializer || raise @handler_class = config.app_class || raise @payload_parser = config.payload_builder.to_parser || raise end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/app/middlewares/configuration.rb, line 13 def call(env) env[::Rack::App::Constants::ENV::HANDLER]= handler(env) env[::Rack::App::Constants::ENV::SERIALIZER]= @serializer env[::Rack::App::Constants::ENV::PAYLOAD_PARSER]= @payload_parser env[::Rack::App::Constants::ENV::PAYLOAD_GETTER]= lambda do env[::Rack::App::Constants::ENV::PARSED_PAYLOAD] ||= env[::Rack::App::Constants::ENV::PAYLOAD_PARSER].parse_env(env) end @app.call(env) end
Protected Instance Methods
extname(env)
click to toggle source
# File lib/rack/app/middlewares/configuration.rb, line 32 def extname(env) path_info = env[::Rack::App::Constants::ENV::PATH_INFO] File.extname(path_info.split("/").last.to_s) end
handler(env)
click to toggle source
# File lib/rack/app/middlewares/configuration.rb, line 25 def handler(env) new_handler = @handler_class.new new_handler.request = ::Rack::Request.new(env) new_handler.response = ::Rack::Response.new new_handler end