Sha256: 102c49cc7ec63ddad29062fcc36da044fd56a59715b9e19dafc3604fe17e516c

Contents?: true

Size: 557 Bytes

Versions: 8

Compression:

Stored size: 557 Bytes

Contents

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

module Esplanade
  class CheckCustomResponseMiddleware
    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)

      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/check_custom_response_middleware.rb
esplanade-1.8.4 lib/esplanade/middlewares/check_custom_response_middleware.rb
esplanade-1.8.3 lib/esplanade/middlewares/check_custom_response_middleware.rb
esplanade-1.8.2 lib/esplanade/middlewares/check_custom_response_middleware.rb
esplanade-1.8.1 lib/esplanade/middlewares/check_custom_response_middleware.rb
esplanade-1.8.0 lib/esplanade/middlewares/check_custom_response_middleware.rb
esplanade-1.7.1 lib/esplanade/middlewares/check_custom_response_middleware.rb
esplanade-1.7.0 lib/esplanade/middlewares/check_custom_response_middleware.rb