FIX: do not log if an invalid mime type is passed to app

Previously our custom exception handler was unable to handle situations
where an invalid mime type was sent, resulting in a warning log

This ensures we pretend a request is HTML for the purpose of rendering
the error page if an invalid mime type from a scanner is shipped to the app
This commit is contained in:
Sam Saffron
2019-11-21 15:51:18 +11:00
parent 09579bffbe
commit 423ad5f0a4
2 changed files with 44 additions and 1 deletions

View File

@ -29,7 +29,15 @@ module Middleware
begin
fake_controller = ApplicationController.new
fake_controller.response = response
fake_controller.request = ActionDispatch::Request.new(env)
fake_controller.request = request = ActionDispatch::Request.new(env)
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"
end
if ApplicationController.rescue_with_handler(exception, object: fake_controller)
body = response.body