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.

Raises:



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

def on_complete(env)
  request = Request.from_env(env)
  response = Response.from_env(env)
  validated_response = @oad.validate_response(request, response, raise_error: false)

  return if validated_response.valid?
  return if !validated_response.known? && (validated_response.status >= 401)
  return if ignore_error?(validated_response)

  raise ResponseInvalidError, validated_response.error.message
end