Sha256: 4eca5160b8ed3a13151350b5581d9e99ed038ce3bd7e94f8d53ad5d53e500f93
Contents?: true
Size: 1.36 KB
Versions: 23
Compression:
Stored size: 1.36 KB
Contents
# frozen_string_literal: true module Praxis module RequestStages class ValidateParamsAndHeaders < RequestStage attr_reader :parent def initialize(name, context, parent:) super @parent = parent end def path @path ||= (@parent.path + [name]) end def execute begin request.load_headers(CONTEXT_FOR[:headers]) rescue StandardError => e message = 'Error loading headers.' return validation_handler.handle!( exception: e, summary: message, request: request, stage: name ) end begin request.load_params(CONTEXT_FOR[:params]) rescue Attributor::AttributorException => e message = 'Error loading params.' return validation_handler.handle!( exception: e, summary: message, request: request, stage: name ) end errors = request.validate_headers(CONTEXT_FOR[:headers]) errors += request.validate_params(CONTEXT_FOR[:params]) return unless errors.any? message = 'Error validating request data.' validation_handler.handle!( summary: message, errors: errors, request: request, stage: name ) end end end end
Version data entries
23 entries across 23 versions & 1 rubygems