mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Add cowboy_req:filter_cookies/2
This commit is contained in:
parent
5ffb4f98e0
commit
03dac1486d
5 changed files with 126 additions and 0 deletions
|
@ -92,6 +92,10 @@ echo(<<"match">>, Req, Opts) ->
|
|||
Match
|
||||
end,
|
||||
{ok, cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), Opts};
|
||||
echo(<<"filter_then_parse_cookies">>, Req0, Opts) ->
|
||||
Req = cowboy_req:filter_cookies([cake, color], Req0),
|
||||
Value = cowboy_req:parse_cookies(Req),
|
||||
{ok, cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), Opts};
|
||||
echo(What, Req, Opts) ->
|
||||
Key = binary_to_atom(What, latin1),
|
||||
Value = case cowboy_req:path(Req) of
|
||||
|
|
|
@ -286,6 +286,27 @@ parse_cookies(Config) ->
|
|||
[{<<"cookie">>, "goodname=strawberry\tmilkshake"}], Config),
|
||||
ok.
|
||||
|
||||
filter_then_parse_cookies(Config) ->
|
||||
doc("Filter cookies then parse them."),
|
||||
<<"[]">> = do_get_body("/filter_then_parse_cookies", Config),
|
||||
<<"[{<<\"cake\">>,<<\"strawberry\">>}]">>
|
||||
= do_get_body("/filter_then_parse_cookies", [{<<"cookie">>, "cake=strawberry"}], Config),
|
||||
<<"[{<<\"cake\">>,<<\"strawberry\">>},{<<\"color\">>,<<\"blue\">>}]">>
|
||||
= do_get_body("/filter_then_parse_cookies", [{<<"cookie">>, "cake=strawberry; color=blue"}], Config),
|
||||
<<"[{<<\"cake\">>,<<\"strawberry\">>},{<<\"color\">>,<<\"blue\">>}]">>
|
||||
= do_get_body("/filter_then_parse_cookies",
|
||||
[{<<"cookie">>, "cake=strawberry"}, {<<"cookie">>, "color=blue"}], Config),
|
||||
<<"[]">>
|
||||
= do_get_body("/filter_then_parse_cookies",
|
||||
[{<<"cookie">>, "bad name=strawberry"}], Config),
|
||||
<<"[{<<\"cake\">>,<<\"strawberry\">>}]">>
|
||||
= do_get_body("/filter_then_parse_cookies",
|
||||
[{<<"cookie">>, "bad name=strawberry; cake=strawberry"}], Config),
|
||||
<<"[]">>
|
||||
= do_get_body("/filter_then_parse_cookies",
|
||||
[{<<"cookie">>, "Blocked by http://www.example.com/upgrade-to-remove"}], Config),
|
||||
ok.
|
||||
|
||||
parse_header(Config) ->
|
||||
doc("Parsed request header with/without default."),
|
||||
<<"[{{<<\"text\">>,<<\"html\">>,[]},1000,[]}]">>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue