Sha256: 019c684cfbda0d6003f67763dafaccacf13b922c411505086021d9c21468dc2b

Contents?: true

Size: 579 Bytes

Versions: 8

Compression:

Stored size: 579 Bytes

Contents

require 'tomograph'
require 'esplanade/request'
require 'esplanade/response'

module Esplanade
  class DangerousMiddleware
    def initialize(app, **params)
      @app = app
      @documentation = Tomograph::Tomogram.new(Esplanade.configuration.params.merge(params))
    end

    def call(env)
      request = Esplanade::Request.new(@documentation, env)
      request.validation.valid!

      status, headers, body = @app.call(env)

      response = Esplanade::Response.new(request, status, body)
      response.validation.valid!

      [status, headers, body]
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
esplanade-1.8.5 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.8.4 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.8.3 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.8.2 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.8.1 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.8.0 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.7.1 lib/esplanade/middlewares/dangerous_middleware.rb
esplanade-1.7.0 lib/esplanade/middlewares/dangerous_middleware.rb