cowboy_req:set_resp_cookie(3)

Name

cowboy_req:set_resp_cookie - Set a cookie

Description

set_resp_cookie(Name, Value, Req :: cowboy_req:req())
    -> set_resp_cookie(Name, Value, [], Req)

set_resp_cookie(Name, Value, Opts, Req :: cowboy_req:req())
    -> Req

Name  :: iodata()                  %% case sensitive
Value :: iodata()                  %% case sensitive
Opts  :: cow_cookie:cookie_opts()

Set a cookie to be sent with the response.

Note that cookie names are case sensitive.

Arguments

Name

Cookie name.

Value

Cookie value.

Opts

Optional cookie options.

Req

The Req object.

Return value

A new Req object is returned.

The returned Req object must be used from that point onward, otherwise the cookie will not be sent in the response.

Changelog

  • 2.0: set_resp_cookie/3 introduced as an alias to set_resp_cookie/4 with no options.

  • 1.0: Function introduced.

Examples

Set a session cookie
SessionID = base64:encode(crypto:strong_rand_bytes(32)),
Req = cowboy_req:set_resp_cookie(<<"sessionid">>, SessionID, Req0).
Set a cookie with an expiration time
Req = cowboy_req:set_resp_cookie(<<"lang">>, <<"fr-FR">>, [
    {max_age, 3600}
], Req0).
Delete a cookie
Req = cowboy_req:set_resp_cookie(<<"sessionid">>, <<>>, [
    {max_age, 0}
], Req0).
Set a cookie for a specific domain and path
Req = cowboy_req:set_resp_cookie(<<"inaccount">>, <<"1">>, [
    {domain, "my.example.org"},
    {path, "/account"}
], Req0).
Restrict a cookie to HTTPS
SessionID = base64:encode(crypto:strong_rand_bytes(32)),
Req = cowboy_req:set_resp_cookie(<<"sessionid">>, SessionID, [
    {secure, true}
], Req0).
Restrict a cookie to HTTP
SessionID = base64:encode(crypto:strong_rand_bytes(32)),
Req = cowboy_req:set_resp_cookie(<<"sessionid">>, SessionID, [
    {http_only, true}
], Req0).

Cowboy 2.0 Function Reference

Navigation

Version select