lib/rambulance/exceptions_app.rb in rambulance-2.3.0 vs lib/rambulance/exceptions_app.rb in rambulance-3.0.0
- old
+ new
@@ -9,16 +9,16 @@
http_status >= 400 && ![418, 427, 430, 509].include?(http_status)
end.invert
BAD_REQUEST_ERRORS = [
ActionController::BadRequest,
- begin
- ActionDispatch::Http::Parameters::ParseError # Rails >= 5.2.0
- rescue NameError; end,
- begin
- ActionDispatch::ParamsParser::ParseError # Rails < 5.2.0
- rescue NameError; end,
+ # Rails >= 7.1.0
+ defined?(ActionDispatch::Http::MimeNegotiation::InvalidType) ? ActionDispatch::Http::MimeNegotiation::InvalidType : nil,
+ # Rails >= 5.2.0
+ defined?(ActionDispatch::Http::Parameters::ParseError) ? ActionDispatch::Http::Parameters::ParseError : nil,
+ # Rails < 5.2.0
+ defined?(ActionDispatch::ParamsParser::ParseError) ? ActionDispatch::ParamsParser::ParseError : nil
].compact.freeze
class ExceptionsApp < ActionController::Base
layout :layout_name
@@ -85,9 +85,13 @@
begin
request.accepts
rescue Mime::Type::InvalidMimeType
request.env["MALFORMED_HTTP_ACCEPT"], request.env["HTTP_ACCEPT"] = request.env["HTTP_ACCEPT"], "*/*"
+ end
+
+ if defined?(Rack::RACK_REQUEST_FORM_ERROR) && request.env.include?(Rack::RACK_REQUEST_FORM_ERROR)
+ request.env.delete(Rack::RACK_REQUEST_FORM_ERROR)
end
# The #formats method needs to be called after the sanitization above.
request.formats << Mime::Type.lookup('text/plain')