aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-04-25 21:07:04 +0200
committerLoïc Hoguin <[email protected]>2013-04-25 21:07:04 +0200
commit61b3157ad14ae49da3ac6b33643a876eb18bbf2a (patch)
treefa6928d6c8e104bdec311b3df6d9f0c9d12dba59
parenta2f4703e5ef01642870d503ef36a38847387417a (diff)
downloadcowboy-61b3157ad14ae49da3ac6b33643a876eb18bbf2a.tar.gz
cowboy-61b3157ad14ae49da3ac6b33643a876eb18bbf2a.tar.bz2
cowboy-61b3157ad14ae49da3ac6b33643a876eb18bbf2a.zip
Cookie names are case sensitive
This should be more in line with what browsers are doing, and will prevent errors due to failed expectations.
-rw-r--r--src/cowboy_http.erl11
1 files 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">>}]},