FIX: avoid superflous logging when mime type is bad

Many security scanners ship invalid mime types, this ensures we return
a very cheap response to the clients and do not log anything.

Previous attempt still re-dispatched the request to get proper error page
but in this specific case we want no error page.
This commit is contained in:
Sam Saffron 2020-01-02 12:34:38 +11:00
parent 34ede90927
commit a9f90cdec3

View File

@ -31,12 +31,11 @@ module Middleware
fake_controller.response = response
fake_controller.request = request = ActionDispatch::Request.new(env)
# We can not re-dispatch bad mime types
begin
request.format
rescue Mime::Type::InvalidMimeType
# got to do something here, we can not ship invalid format
# to the exception handler cause it will explode
request.format = "html"
return [400, {}, ["Invalid MIME type"]]
end
if ApplicationController.rescue_with_handler(exception, object: fake_controller)