Sha256: e98cd9c6832f8f2f718b0fa4a598ae60c63a602471e074811a0513e3cd0391a2
Contents?: true
Size: 957 Bytes
Versions: 4
Compression:
Stored size: 957 Bytes
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 Attributor::AttributorException => e message = e.message message << ". For request Content-Type: '#{request.content_type}'" return Responses::ValidationError.new(exception: e, message: message) end Attributor::AttributeResolver.current.register("payload",request.payload) errors = request.validate_payload(CONTEXT_FOR[:payload]) if errors.any? return Responses::ValidationError.new(errors: errors) end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems