class Pacto::Validators::RequestBodyValidator
Public Class Methods
new(app)
click to toggle source
# File lib/pacto/validators/request_body_validator.rb, line 4 def initialize(app) @app = app end
section_name()
click to toggle source
# File lib/pacto/validators/request_body_validator.rb, line 8 def self.section_name 'request' end
subschema(contract)
click to toggle source
# File lib/pacto/validators/request_body_validator.rb, line 12 def self.subschema(contract) contract.request.schema end
Public Instance Methods
call(env)
click to toggle source
# File lib/pacto/validators/request_body_validator.rb, line 16 def call(env) if env[:validation_results].empty? # skip body validation if we already have other errors actual_body = env[:actual_request] errors = self.class.validate(env[:contract], actual_body) env[:validation_results].concat errors.compact end @app.call env end