Sha256: d3cf582207465eedd0264780601a2670b7650b89e9bf2801970ef7f1790850fe
Contents?: true
Size: 1.12 KB
Versions: 27
Compression:
Stored size: 1.12 KB
Contents
module Praxis module RequestStages class ValidatePayload < RequestStage attr_reader :parent def initialize(name, context, parent:) super @parent = parent end def path @_path ||= ( @parent.path + [name] ) end def execute if request.action.payload begin request.load_payload(CONTEXT_FOR[:payload]) rescue => e message = "Error loading payload. Used Content-Type: '#{request.content_type}'" return validation_handler.handle!( exception: e, summary: message, request: request, stage: name ) end Attributor::AttributeResolver.current.register("payload",request.payload) errors = request.validate_payload(CONTEXT_FOR[:payload]) if errors.any? return validation_handler.handle!( summary: "Errors validating payload data", errors: errors, request: request, stage: name ) end end end end end end
Version data entries
27 entries across 27 versions & 1 rubygems