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

Change the type of bindings from a list to a map

Maps make more sense because the keys are unique.
This commit is contained in:
Loïc Hoguin 2017-02-19 16:51:16 +01:00
parent 91ae70b06c
commit 9255cdf1d7
No known key found for this signature in database
GPG key ID: 71366FF21851DF03
6 changed files with 25 additions and 33 deletions

View file

@ -197,8 +197,6 @@ And any other combination.
=== Bindings
// @todo Bindings should probably be a map themselves.
Bindings are the host and path components that you chose
to extract when defining the routes of your application.
They are only available after the routing.
@ -222,10 +220,7 @@ To retrieve everything that was bound:
[source,erlang]
Bindings = cowboy_req:bindings(Req).
They are returned as a list of key/value pairs, with
keys being atoms.
// ...
They are returned as a map, with keys being atoms.
The Cowboy router also allows you to capture many host
or path segments at once using the `...` qualifier.

View file

@ -8,10 +8,10 @@ cowboy_req:bindings - Access all values bound from the route
[source,erlang]
----
bindings(Req :: cowboy_req:req()) -> [{Name :: atom(), any()}]
bindings(Req :: cowboy_req:req()) -> cowboy_router:bindings()
----
Return all bindings as a list of key/value pairs.
Return a map containing all bindings.
== Arguments
@ -27,7 +27,7 @@ automatically converting numbers to integer).
== Changelog
* *2.0*: Only the values are returned, it is no longer wrapped in a tuple.
* *2.0*: Only the values are returned, they are no longer wrapped in a tuple.
* *1.0*: Function introduced.
== Examples

View file

@ -33,7 +33,7 @@ a 404 response otherwise.
[source,erlang]
----
bindings() :: [{atom(), binary()}]
bindings() :: #{atom() => any()}
----
Bindings found during routing.