mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Fail early in cookie-related API functions
This commit is contained in:
parent
5bd936db66
commit
b75859e075
2 changed files with 5 additions and 5 deletions
|
@ -43,17 +43,17 @@
|
|||
-spec parse_cookie(binary()) -> kvlist().
|
||||
parse_cookie(<<>>) ->
|
||||
[];
|
||||
parse_cookie(Cookie) ->
|
||||
parse_cookie(Cookie) when is_binary(Cookie) ->
|
||||
parse_cookie(Cookie, []).
|
||||
|
||||
%% @doc Short-hand for <code>cookie(Key, Value, [])</code>.
|
||||
-spec cookie(binary(), binary()) -> kvlist().
|
||||
cookie(Key, Value) ->
|
||||
cookie(Key, Value) when is_binary(Key) andalso is_binary(Value) ->
|
||||
cookie(Key, Value, []).
|
||||
|
||||
%% @doc Generate a Set-Cookie header field tuple.
|
||||
-spec cookie(binary(), binary(), [cookie_option()]) -> kvlist().
|
||||
cookie(Key, Value, Options) ->
|
||||
cookie(Key, Value, Options) when is_binary(Key) andalso is_binary(Value) andalso is_list(Options) ->
|
||||
Cookie = <<(any_to_binary(Key))/binary, "=", (quote(Value))/binary, "; Version=1">>,
|
||||
%% Set-Cookie:
|
||||
%% Comment, Domain, Max-Age, Path, Secure, Version
|
||||
|
|
|
@ -181,14 +181,14 @@ headers(Req) ->
|
|||
%% @equiv cookie(Name, Req, undefined)
|
||||
-spec cookie(binary(), #http_req{})
|
||||
-> {binary() | true | undefined, #http_req{}}.
|
||||
cookie(Name, Req) ->
|
||||
cookie(Name, Req) when is_binary(Name) ->
|
||||
cookie(Name, Req, undefined).
|
||||
|
||||
%% @doc Return the cookie value for the given key, or a default if
|
||||
%% missing.
|
||||
-spec cookie(binary(), #http_req{}, Default)
|
||||
-> {binary() | true | Default, #http_req{}} when Default::any().
|
||||
cookie(Name, Req=#http_req{cookies=undefined}, Default) ->
|
||||
cookie(Name, Req=#http_req{cookies=undefined}, Default) when is_binary(Name) ->
|
||||
case header('Cookie', Req) of
|
||||
{undefined, Req2} ->
|
||||
{Default, Req2#http_req{cookies=[]}};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue