Sha256: 6c95d69d983adf505bf1d63eabada9fb922adce74895ef5e4f5cf29ccedc87ef

Contents?: true

Size: 744 Bytes

Versions: 5

Compression:

Stored size: 744 Bytes

Contents

require "rack/request"
require "rack/response"
class Rack::App::Middlewares::Configuration

  require "rack/app/middlewares/configuration/path_info_formatter"
  require "rack/app/middlewares/configuration/path_params_matcher"

  def initialize(app, options={})
    @handler_class = options[:app_class] || raise
    @serializer = options[:serializer] || raise
    @app = app
  end

  def call(env)
    env[Rack::App::Constants::ENV::SERIALIZER]= @serializer
    env[Rack::App::Constants::ENV::REQUEST_HANDLER]= handler(env)
    @app.call(env)
  end

  protected

  def handler(env)
    new_handler = @handler_class.new
    new_handler.request = ::Rack::Request.new(env)
    new_handler.response = ::Rack::Response.new
    new_handler
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rack-app-5.4.0 lib/rack/app/middlewares/configuration.rb
rack-app-5.3.2 lib/rack/app/middlewares/configuration.rb
rack-app-5.3.1 lib/rack/app/middlewares/configuration.rb
rack-app-5.3.0 lib/rack/app/middlewares/configuration.rb
rack-app-5.2.0 lib/rack/app/middlewares/configuration.rb