Sha256: 06474edd76d0d9e04444f1bdfed26ad13cf1d7e8471b80a1d12fd71db4a51c7a

Contents?: true

Size: 807 Bytes

Versions: 2

Compression:

Stored size: 807 Bytes

Contents

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

  require "rack/app/middlewares/configuration/handler_setter"
  require "rack/app/middlewares/configuration/serializer_setter"

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

  def initialize(app, config)
    @stack = build_stack(app) do |builder|
      builder.use Rack::App::Middlewares::Configuration::SerializerSetter,
                  config.serializer

      builder.use Rack::App::Middlewares::Configuration::HandlerSetter,
                  config.app_class

    end
  end

  def call(env)
    @stack.call(env)
  end

  protected

  def build_stack(app)
    builder = Rack::Builder.new
    yield(builder)
    builder.run(app)
    return builder.to_app
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rack-app-5.6.0 lib/rack/app/middlewares/configuration.rb
rack-app-5.5.1 lib/rack/app/middlewares/configuration.rb