mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
69 lines
1.7 KiB
Markdown
69 lines
1.7 KiB
Markdown
![]() |
cowboy_router
|
||
|
=============
|
||
|
|
||
|
The `cowboy_router` middleware maps the requested host and
|
||
|
path to the handler to be used for processing the request.
|
||
|
It uses the dispatch rules compiled from the routes given
|
||
|
to the `compile/1` function for this purpose. It adds the
|
||
|
handler name and options to the environment as the values
|
||
|
`handler` and `handler_opts` respectively.
|
||
|
|
||
|
Environment input:
|
||
|
* dispatch = dispatch_rules()
|
||
|
|
||
|
Environment output:
|
||
|
* handler = module()
|
||
|
* handler_opts = any()
|
||
|
|
||
|
Types
|
||
|
-----
|
||
|
|
||
|
### bindings() = [{atom(), binary()}]
|
||
|
|
||
|
> List of bindings found during routing.
|
||
|
|
||
|
### constraints() = [IntConstraint | FunConstraint]
|
||
|
|
||
|
> Types:
|
||
|
> * IntConstraint = {atom(), int}
|
||
|
> * FunConstraint = {atom(), function, Fun}
|
||
|
> * Fun = fun((binary()) -> true | {true, any()} | false)
|
||
|
>
|
||
|
> List of constraints to apply to the bindings.
|
||
|
>
|
||
|
> The int constraint will convert the binding to an integer.
|
||
|
> The fun constraint allows writing custom code for checking
|
||
|
> the bindings. Returning a new value from that fun allows
|
||
|
> replacing the current binding with a new value.
|
||
|
|
||
|
### dispatch_rules() - opaque to the user
|
||
|
|
||
|
> Rules for dispatching request used by Cowboy.
|
||
|
|
||
|
### routes() = [{Host, Paths} | {Host, constraints(), Paths}]
|
||
|
|
||
|
> Types:
|
||
|
> * Host = Path = '_' | iodata()
|
||
|
> * Paths = [{Path, Handler, Opts} | {Path, constraints(), Handler, Opts}]
|
||
|
> * Handler = module()
|
||
|
> * Opts = any()
|
||
|
>
|
||
|
> Human readable list of routes mapping hosts and paths to handlers.
|
||
|
>
|
||
|
> The syntax for routes is defined in the user guide.
|
||
|
|
||
|
### tokens() = [binary()]
|
||
|
|
||
|
> List of host_info and path_info tokens found during routing.
|
||
|
|
||
|
Exports
|
||
|
-------
|
||
|
|
||
|
### compile(Routes) -> Dispatch
|
||
|
|
||
|
> Types:
|
||
|
> * Routes = routes()
|
||
|
> * Dispatch = dispatch_rules()
|
||
|
>
|
||
|
> Compile the routes for use by Cowboy.
|