0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Add cowboy_http_req:set_resp_cookie/4

Pretty much just an alias for a combination of set_resp_header and cookie.
This commit is contained in:
Loïc Hoguin 2011-12-07 11:54:57 +01:00
parent a12a910341
commit ce92ab1e63
3 changed files with 13 additions and 3 deletions

View file

@ -37,7 +37,7 @@
]). %% Request Body API. ]). %% Request Body API.
-export([ -export([
set_resp_header/3, set_resp_body/2, set_resp_cookie/4, set_resp_header/3, set_resp_body/2,
has_resp_header/2, has_resp_body/1, has_resp_header/2, has_resp_body/1,
reply/2, reply/3, reply/4, reply/2, reply/3, reply/4,
chunked_reply/2, chunked_reply/3, chunk/2, chunked_reply/2, chunked_reply/3, chunk/2,
@ -361,6 +361,13 @@ body_qs(Req) ->
%% Response API. %% Response API.
%% @doc Add a cookie header to the response.
-spec set_resp_cookie(binary(), binary(), [cowboy_cookies:cookie_option()],
#http_req{}) -> {ok, #http_req{}}.
set_resp_cookie(Name, Value, Options, Req) ->
{HeaderName, HeaderValue} = cowboy_cookies:cookie(Name, Value, Options),
set_resp_header(HeaderName, HeaderValue, Req).
%% @doc Add a header to the response. %% @doc Add a header to the response.
-spec set_resp_header(http_header(), iodata(), #http_req{}) -spec set_resp_header(http_header(), iodata(), #http_req{})
-> {ok, #http_req{}}. -> {ok, #http_req{}}.

View file

@ -505,7 +505,8 @@ set_resp_header(Config) ->
ok = gen_tcp:send(Socket, "GET /set_resp/header HTTP/1.1\r\n" ok = gen_tcp:send(Socket, "GET /set_resp/header HTTP/1.1\r\n"
"Host: localhost\r\nConnection: close\r\n\r\n"), "Host: localhost\r\nConnection: close\r\n\r\n"),
{ok, Data} = gen_tcp:recv(Socket, 0, 6000), {ok, Data} = gen_tcp:recv(Socket, 0, 6000),
{_Start, _Length} = binary:match(Data, <<"Vary: Accept">>). {_, _} = binary:match(Data, <<"Vary: Accept">>),
{_, _} = binary:match(Data, <<"Set-Cookie: ">>).
set_resp_overwrite(Config) -> set_resp_overwrite(Config) ->
{port, Port} = lists:keyfind(port, 1, Config), {port, Port} = lists:keyfind(port, 1, Config),

View file

@ -13,7 +13,9 @@ init({_Transport, http}, Req, Opts) ->
{ok, Req3} = cowboy_http_req:set_resp_body(Body, Req2), {ok, Req3} = cowboy_http_req:set_resp_body(Body, Req2),
{ok, Req4} = cowboy_http_req:set_resp_header( {ok, Req4} = cowboy_http_req:set_resp_header(
<<"X-Cowboy-Test">>, <<"ok">>, Req3), <<"X-Cowboy-Test">>, <<"ok">>, Req3),
{ok, Req4, undefined}. {ok, Req5} = cowboy_http_req:set_resp_cookie(
<<"cake">>, <<"lie">>, [], Req4),
{ok, Req5, undefined}.
handle(Req, State) -> handle(Req, State) ->
case cowboy_http_req:has_resp_header(<<"X-Cowboy-Test">>, Req) of case cowboy_http_req:has_resp_header(<<"X-Cowboy-Test">>, Req) of