From b658867318f8268667683f41cb7394cbf1a74bd7 Mon Sep 17 00:00:00 2001 From: kentakag Date: Mon, 14 Dec 2020 18:13:03 +0900 Subject: [PATCH] add request to validation error --- lib/committee/middleware/request_validation.rb | 6 +++--- lib/committee/validation_error.rb | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/committee/middleware/request_validation.rb b/lib/committee/middleware/request_validation.rb index 059ecb97..67bdc266 100644 --- a/lib/committee/middleware/request_validation.rb +++ b/lib/committee/middleware/request_validation.rb @@ -21,14 +21,14 @@ def handle(request) rescue Committee::BadRequest, Committee::InvalidRequest handle_exception($!, request.env) raise if @raise - return @error_class.new(400, :bad_request, $!.message).render unless @ignore_error + return @error_class.new(400, :bad_request, $!.message, request).render unless @ignore_error rescue Committee::NotFound => e raise if @raise - return @error_class.new(404, :not_found, e.message).render unless @ignore_error + return @error_class.new(404, :not_found, e.message, request).render unless @ignore_error rescue JSON::ParserError handle_exception($!, request.env) raise Committee::InvalidRequest if @raise - return @error_class.new(400, :bad_request, "Request body wasn't valid JSON.").render unless @ignore_error + return @error_class.new(400, :bad_request, "Request body wasn't valid JSON.", request).render unless @ignore_error end @app.call(request.env) diff --git a/lib/committee/validation_error.rb b/lib/committee/validation_error.rb index 3e5d2125..f3929f5f 100644 --- a/lib/committee/validation_error.rb +++ b/lib/committee/validation_error.rb @@ -2,12 +2,13 @@ module Committee class ValidationError - attr_reader :id, :message, :status + attr_reader :id, :message, :status, :request - def initialize(status, id, message) + def initialize(status, id, message, request = nil) @status = status @id = id @message = message + @request = request end def error_body