Sha256: a9c722168b13061a20679a6ec72157ab0f28064dc7bce5483520aad24ad023a7

Contents?: true

Size: 621 Bytes

Versions: 1

Compression:

Stored size: 621 Bytes

Contents

module Pacto
  module Validators
    class RequestBodyValidator < BodyValidator
      def initialize(app)
        @app = app
      end

      def self.section_name
        'request'
      end

      def self.subschema(contract)
        contract.request.schema
      end

      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
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pacto-0.3.1 lib/pacto/validators/request_body_validator.rb