Class: OpenapiFirst::Validators::RequestBody
- Inherits:
-
Object
- Object
- OpenapiFirst::Validators::RequestBody
- Defined in:
- lib/openapi_first/validators/request_body.rb
Instance Method Summary collapse
- #call(parsed_request) ⇒ Object
-
#initialize(content_schema:, required_request_body:) ⇒ RequestBody
constructor
A new instance of RequestBody.
Constructor Details
#initialize(content_schema:, required_request_body:) ⇒ RequestBody
Returns a new instance of RequestBody.
6 7 8 9 |
# File 'lib/openapi_first/validators/request_body.rb', line 6 def initialize(content_schema:, required_request_body:) @schema = content_schema @required = required_request_body end |
Instance Method Details
#call(parsed_request) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/openapi_first/validators/request_body.rb', line 11 def call(parsed_request) body = parsed_request.body if body.nil? Failure.fail!(:invalid_body, message: 'Request body must not be empty') if @required return end validation = Schema::ValidationResult.new( @schema.validate(body, access_mode: 'write') ) Failure.fail!(:invalid_body, errors: validation.errors) if validation.error? end |