mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00
Fix typespecs for cowboy_req:binding/{2,3} and :bindings/1
This commit is contained in:
parent
6907541a78
commit
7a274661b2
2 changed files with 13 additions and 5 deletions
|
@ -49,17 +49,25 @@ Request related exports
|
|||
> Types:
|
||||
> * Name = atom()
|
||||
> * Default = any()
|
||||
> * Value = binary() | Default
|
||||
> * Value = any() | Default
|
||||
>
|
||||
> Return the value for the given binding.
|
||||
>
|
||||
> By default the value is a binary, however constraints may change
|
||||
> the type of this value (for example automatically converting
|
||||
> numbers to integer).
|
||||
|
||||
### bindings(Req) -> {[{Name, Value}], Req2}
|
||||
|
||||
> Types:
|
||||
> * Name = atom()
|
||||
> * Value = binary()
|
||||
> * Value = any()
|
||||
>
|
||||
> Return all bindings.
|
||||
>
|
||||
> By default the value is a binary, however constraints may change
|
||||
> the type of this value (for example automatically converting
|
||||
> numbers to integer).
|
||||
|
||||
### cookie(Name, Req) -> cookie(Name, Req, undefined)
|
||||
### cookie(Name, Req, Default) -> {Value, Req2}
|
||||
|
|
|
@ -334,14 +334,14 @@ url(HostURL, Req=#http_req{path=Path, qs=QS}) ->
|
|||
{<< HostURL/binary, Path/binary, QS2/binary >>, Req}.
|
||||
|
||||
%% @equiv binding(Name, Req, undefined)
|
||||
-spec binding(atom(), Req) -> {binary() | undefined, Req} when Req::req().
|
||||
-spec binding(atom(), Req) -> {any() | undefined, Req} when Req::req().
|
||||
binding(Name, Req) when is_atom(Name) ->
|
||||
binding(Name, Req, undefined).
|
||||
|
||||
%% @doc Return the binding value for the given key obtained when matching
|
||||
%% the host and path against the dispatch list, or a default if missing.
|
||||
-spec binding(atom(), Req, Default)
|
||||
-> {binary() | Default, Req} when Req::req(), Default::any().
|
||||
-> {any() | Default, Req} when Req::req(), Default::any().
|
||||
binding(Name, Req, Default) when is_atom(Name) ->
|
||||
case lists:keyfind(Name, 1, Req#http_req.bindings) of
|
||||
{Name, Value} -> {Value, Req};
|
||||
|
@ -349,7 +349,7 @@ binding(Name, Req, Default) when is_atom(Name) ->
|
|||
end.
|
||||
|
||||
%% @doc Return the full list of binding values.
|
||||
-spec bindings(Req) -> {list({atom(), binary()}), Req} when Req::req().
|
||||
-spec bindings(Req) -> {[{atom(), any()}], Req} when Req::req().
|
||||
bindings(Req) ->
|
||||
{Req#http_req.bindings, Req}.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue