Class: OpenapiFirst::Test::ObserverMiddleware
- Inherits:
-
Object
- Object
- OpenapiFirst::Test::ObserverMiddleware
- Defined in:
- lib/openapi_first/test/observer_middleware.rb
Overview
Middleware that observes requests and responses. This is used to trigger hooks added by OpenapiFirst::Tests.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ ObserverMiddleware
constructor
A new instance of ObserverMiddleware.
Constructor Details
#initialize(app, options = {}) ⇒ ObserverMiddleware
Returns a new instance of ObserverMiddleware.
7 8 9 10 |
# File 'lib/openapi_first/test/observer_middleware.rb', line 7 def initialize(app, = {}) @app = app @definition = OpenapiFirst::Test[.fetch(:api, :default)] end |
Instance Method Details
#call(env) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/openapi_first/test/observer_middleware.rb', line 12 def call(env) request = Rack::Request.new(env) @definition.validate_request(request, raise_error: false) response = @app.call(env) status, headers, body = response @definition.validate_response(request, Rack::Response[status, headers, body], raise_error: false) response end |