diff --git a/spec/std/http/params_spec.cr b/spec/std/http/params_spec.cr index 44e97f2d378d..1d538dfa31b5 100644 --- a/spec/std/http/params_spec.cr +++ b/spec/std/http/params_spec.cr @@ -6,6 +6,7 @@ module HTTP describe ".parse" do { {"", {} of String => Array(String)}, + {"&&", {} of String => Array(String)}, {" ", {" " => [""]}}, {"foo=bar", {"foo" => ["bar"]}}, {"foo=bar&foo=baz", {"foo" => ["bar", "baz"]}}, diff --git a/src/http/params.cr b/src/http/params.cr index d079173ee2f4..458c8344df0a 100644 --- a/src/http/params.cr +++ b/src/http/params.cr @@ -58,7 +58,7 @@ module HTTP if key yield key.not_nil!, value else - yield value, "" + yield value, "" unless value.empty? end key = nil @@ -72,7 +72,7 @@ module HTTP if key yield key.not_nil!, buffer.to_s else - yield buffer.to_s, "" + yield buffer.to_s, "" unless buffer.empty? end end