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
21
spec/middleware/handle_bad_encoding_middleware_spec.rb
Normal file
21
spec/middleware/handle_bad_encoding_middleware_spec.rb
Normal file
|
@ -0,0 +1,21 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe HandleBadEncodingMiddleware do
|
||||
let(:app) { double() }
|
||||
let(:middleware) { HandleBadEncodingMiddleware.new(app) }
|
||||
|
||||
it "request with query string is unchanged" do
|
||||
expect(app).to receive(:call).with("PATH" => "/some/path", "QUERY_STRING" => "name=fred")
|
||||
middleware.call("PATH" => "/some/path", "QUERY_STRING" => "name=fred")
|
||||
end
|
||||
|
||||
it "request with no query string is unchanged" do
|
||||
expect(app).to receive(:call).with("PATH" => "/some/path")
|
||||
middleware.call("PATH" => "/some/path")
|
||||
end
|
||||
|
||||
it "request with invalid encoding in query string drops query string" do
|
||||
expect(app).to receive(:call).with("QUERY_STRING" => "", "PATH" => "/some/path")
|
||||
middleware.call("QUERY_STRING" => "q=%2Fsearch%2Fall%Forder%3Ddescending%26page%3D5%26sort%3Dcreated_at", "PATH" => "/some/path")
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue