Class: OpenapiFirst::RequestValidation::RequestBodyValidator
- Inherits:
-
Object
- Object
- OpenapiFirst::RequestValidation::RequestBodyValidator
- Defined in:
- lib/openapi_first/request_validation/request_body_validator.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#initialize(operation) ⇒ RequestBodyValidator
constructor
A new instance of RequestBodyValidator.
- #validate!(parsed_request_body, request_content_type) ⇒ Object
Constructor Details
#initialize(operation) ⇒ RequestBodyValidator
Returns a new instance of RequestBodyValidator.
8 9 10 |
# File 'lib/openapi_first/request_validation/request_body_validator.rb', line 8 def initialize(operation) @operation = operation end |
Instance Method Details
#validate!(parsed_request_body, request_content_type) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/openapi_first/request_validation/request_body_validator.rb', line 12 def validate!(parsed_request_body, request_content_type) request_body = operation.request_body schema = request_body.schema_for(request_content_type) unless schema Failure.fail!(:unsupported_media_type, message: "Unsupported Media Type '#{request_content_type}'") end if request_body.required? && parsed_request_body.nil? Failure.fail!(:invalid_body, message: 'Request body is not defined') end validate_body!(parsed_request_body, schema) end |