diff --git a/lib/middleware/discourse_public_exceptions.rb b/lib/middleware/discourse_public_exceptions.rb index 931910cb002..54e070c433a 100644 --- a/lib/middleware/discourse_public_exceptions.rb +++ b/lib/middleware/discourse_public_exceptions.rb @@ -49,12 +49,16 @@ module Middleware # Or badly formatted multipart requests begin request.POST - rescue EOFError - return [ - 400, - { "Cache-Control" => "private, max-age=0, must-revalidate" }, - ["Invalid request"] - ] + rescue ActionController::BadRequest => error + if error.cause.is_a?(EOFError) + return [ + 400, + { "Cache-Control" => "private, max-age=0, must-revalidate" }, + ["Invalid request"] + ] + else + raise + end end if ApplicationController.rescue_with_handler(exception, object: fake_controller)