From 61b3157ad14ae49da3ac6b33643a876eb18bbf2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 25 Apr 2013 21:07:04 +0200 Subject: Cookie names are case sensitive This should be more in line with what browsers are doing, and will prevent errors due to failed expectations. --- src/cowboy_http.erl | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/cowboy_http.erl b/src/cowboy_http.erl index 57dac0b..b958020 100644 --- a/src/cowboy_http.erl +++ b/src/cowboy_http.erl @@ -157,8 +157,7 @@ cookie_name(Data = << C, _Rest/binary >>, Fun, Acc) C =:= $\r; C =:= $\n; C =:= $\013; C =:= $\014 -> Fun(Data, Acc); cookie_name(<< C, Rest/binary >>, Fun, Acc) -> - C2 = cowboy_bstr:char_to_lower(C), - cookie_name(Rest, Fun, << Acc/binary, C2 >>). + cookie_name(Rest, Fun, << Acc/binary, C >>). -spec cookie_value(binary(), fun()) -> any(). cookie_value(Data, Fun) -> @@ -1110,14 +1109,14 @@ cookie_list_test_() -> {<<"name2">>, <<"value2">>} ]}, {<<"$Version=1; Customer=WILE_E_COYOTE; $Path=/acme">>, [ - {<<"customer">>, <<"WILE_E_COYOTE">>} + {<<"Customer">>, <<"WILE_E_COYOTE">>} ]}, {<<"$Version=1; Customer=WILE_E_COYOTE; $Path=/acme; " "Part_Number=Rocket_Launcher_0001; $Path=/acme; " "Shipping=FedEx; $Path=/acme">>, [ - {<<"customer">>, <<"WILE_E_COYOTE">>}, - {<<"part_number">>, <<"Rocket_Launcher_0001">>}, - {<<"shipping">>, <<"FedEx">>} + {<<"Customer">>, <<"WILE_E_COYOTE">>}, + {<<"Part_Number">>, <<"Rocket_Launcher_0001">>}, + {<<"Shipping">>, <<"FedEx">>} ]}, %% Potential edge cases (initially from Mochiweb). {<<"foo=\\x">>, [{<<"foo">>, <<"\\x">>}]}, -- cgit v1.2.3