aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cowboy_req.erl2
-rw-r--r--test/req_SUITE.erl2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl
index 3f87677..8d8cf82 100644
--- a/src/cowboy_req.erl
+++ b/src/cowboy_req.erl
@@ -462,7 +462,7 @@ filter_cookies(Names0, Req=#{headers := Headers}) ->
case header(<<"cookie">>, Req) of
undefined -> Req;
Value0 ->
- Cookies0 = binary:split(Value0, <<$;>>),
+ Cookies0 = binary:split(Value0, <<$;>>, [global]),
Cookies = lists:filter(fun(Cookie) ->
lists:member(cookie_name(Cookie), Names)
end, Cookies0),
diff --git a/test/req_SUITE.erl b/test/req_SUITE.erl
index 9036cac..f6208a2 100644
--- a/test/req_SUITE.erl
+++ b/test/req_SUITE.erl
@@ -324,7 +324,7 @@ filter_then_parse_cookies(Config) ->
[{<<"cookie">>, "bad name=strawberry"}], Config),
<<"[{<<\"cake\">>,<<\"strawberry\">>}]">>
= do_get_body("/filter_then_parse_cookies",
- [{<<"cookie">>, "bad name=strawberry; cake=strawberry"}], Config),
+ [{<<"cookie">>, "bad name=strawberry; another bad name=strawberry; cake=strawberry"}], Config),
<<"[]">>
= do_get_body("/filter_then_parse_cookies",
[{<<"cookie">>, "Blocked by http://www.example.com/upgrade-to-remove"}], Config),