Class: OpenapiFirst::ResponseValidation::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_first/response_validation/validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(operation) ⇒ Validator

Returns a new instance of Validator.



8
9
10
# File 'lib/openapi_first/response_validation/validator.rb', line 8

def initialize(operation)
  @operation = operation
end

Instance Method Details

#validate(rack_response) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/openapi_first/response_validation/validator.rb', line 12

def validate(rack_response)
  return unless operation

  response = Rack::Response[*rack_response.to_a]
  catch Failure::FAILURE do
    response_definition = response_for(operation, response.status, response.content_type)
    validate_response_body(response_definition.content_schema, response.body)
    validate_response_headers(response_definition.headers, response.headers)
    nil
  end
end