File tree Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -966,7 +966,11 @@ defmodule URI do
966
966
end
967
967
968
968
def append_query ( % URI { } = uri , query ) when is_binary ( query ) do
969
- % { uri | query: uri . query <> "&" <> query }
969
+ if String . ends_with? ( uri . query , "&" ) do
970
+ % { uri | query: uri . query <> query }
971
+ else
972
+ % { uri | query: uri . query <> "&" <> query }
973
+ end
970
974
end
971
975
end
972
976
Original file line number Diff line number Diff line change @@ -400,6 +400,11 @@ defmodule URITest do
400
400
"https://images.example.com/t/1600x/https://images.example.com/foo.jpg"
401
401
end
402
402
403
+ test "append_query/2" do
404
+ assert URI . append_query ( URI . parse ( "http://example.com/?x=1" ) , "x=2" ) . query == "x=1&x=2"
405
+ assert URI . append_query ( URI . parse ( "http://example.com/?x=1&" ) , "x=2" ) . query == "x=1&x=2"
406
+ end
407
+
403
408
## Deprecate API
404
409
405
410
describe "authority" do
You can’t perform that action at this time.
0 commit comments