Module: Faraday::Openapi::ResponseValidation

Included in:
Middleware, ResponseMiddleware
Defined in:
lib/faraday/openapi/middleware.rb

Overview

on_complete method to handle response validation

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object

This method will be called when the response is being processed. You can alter it as you like, accessing things like response_body, response_headers, and more. Refer to Faraday::Env for a list of accessible fields: github.com/lostisland/faraday/blob/main/lib/faraday/options/env.rb

Parameters:

  • env (Faraday::Env)

    the environment of the response being processed.



50
51
52
53
54
55
56
57
58
# File 'lib/faraday/openapi/middleware.rb', line 50

def on_complete(env)
  request = Request.from_env(env)
  response = Response.from_env(env)
  @oad.validate_response(request, response, raise_error: true)
rescue OpenapiFirst::ResponseInvalidError, OpenapiFirst::ResponseNotFoundError => e
  return if e.is_a?(OpenapiFirst::ResponseNotFoundError) && (response.status >= 401)

  raise ResponseInvalidError, e.message
end