Fix uncaught query param encoding errors (#12741)
This commit is contained in:
parent
9edab7afaf
commit
09d54d1f62
4 changed files with 41 additions and 3 deletions
18
app/middleware/handle_bad_encoding_middleware.rb
Normal file
18
app/middleware/handle_bad_encoding_middleware.rb
Normal file
|
@ -0,0 +1,18 @@
|
|||
# frozen_string_literal: true
|
||||
# See: https://jamescrisp.org/2018/05/28/fixing-invalid-query-parameters-invalid-encoding-in-a-rails-app/
|
||||
|
||||
class HandleBadEncodingMiddleware
|
||||
def initialize(app)
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
begin
|
||||
Rack::Utils.parse_nested_query(env['QUERY_STRING'].to_s)
|
||||
rescue Rack::Utils::InvalidParameterError
|
||||
env['QUERY_STRING'] = ''
|
||||
end
|
||||
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue