class OpenAPIParser::Schemas::Responses
Public Instance Methods
validate(response_body, response_validate_options)
click to toggle source
validate params data by definition find response object by status_code and content_type github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#patterned-fields-1 @param [OpenAPIParser::RequestOperation::ValidatableResponseBody] response_body @param [OpenAPIParser::SchemaValidator::ResponseValidateOptions] response_validate_options
# File lib/openapi_parser/schemas/responses.rb, line 18 def validate(response_body, response_validate_options) return nil unless response if (res = find_response_object(response_body.status_code)) return res.validate(response_body, response_validate_options) end raise ::OpenAPIParser::NotExistStatusCodeDefinition, object_reference if response_validate_options.strict nil end
Private Instance Methods
find_response_object(status_code)
click to toggle source
@param [Integer] status_code @return [Response]
# File lib/openapi_parser/schemas/responses.rb, line 35 def find_response_object(status_code) if (res = response[status_code.to_s]) return res end wild_card = status_code_to_wild_card(status_code) if (res = response[wild_card]) return res end default end
status_code_to_wild_card(status_code)
click to toggle source
parse 400 -> 4xx OpenAPI3 allow 1xx, 2xx, 3xx… only, don't allow 41x @param [Integer] status_code
# File lib/openapi_parser/schemas/responses.rb, line 51 def status_code_to_wild_card(status_code) top = status_code / 100 "#{top}XX" end