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
966966 end
967967
968968 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
970974 end
971975end
972976
Original file line number Diff line number Diff line change @@ -400,6 +400,11 @@ defmodule URITest do
400400 "https://images.example.com/t/1600x/https://images.example.com/foo.jpg"
401401 end
402402
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+
403408 ## Deprecate API
404409
405410 describe "authority" do
You can’t perform that action at this time.
0 commit comments