class Praxis::RequestStages::ValidateParamsAndHeaders
Attributes
parent[R]
Public Class Methods
new(name, context, parent:)
click to toggle source
Calls superclass method
# File lib/praxis/request_stages/validate_params_and_headers.rb, line 7 def initialize(name, context, parent:) super @parent = parent end
Public Instance Methods
execute()
click to toggle source
# File lib/praxis/request_stages/validate_params_and_headers.rb, line 16 def execute begin request.load_headers(CONTEXT_FOR[:headers]) rescue => 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 attribute_resolver = Attributor::AttributeResolver.new Attributor::AttributeResolver.current = attribute_resolver attribute_resolver.register("headers",request.headers) attribute_resolver.register("params",request.params) errors = request.validate_headers(CONTEXT_FOR[:headers]) errors += request.validate_params(CONTEXT_FOR[:params]) if errors.any? message = "Error validating request data." return validation_handler.handle!( summary: message, errors: errors, request: request, stage: name ) end end
path()
click to toggle source
# File lib/praxis/request_stages/validate_params_and_headers.rb, line 12 def path @_path ||= ( @parent.path + [name] ) end