bindings() :: #{atom() => any()}
cowboy_router - Router middleware
The cowboy_router
middleware maps the requested host and path to the handler to be used for processing the request.
The router takes the dispatch
rules as input from the middleware environment. Dispatch rules are generated by calling the cowboy_router:compile(3) function. The environment can contain the rules directly or a tuple {persistent_term, Key}
, in which case Cowboy will call persistent_term:get(Key)
to retrieve the dispatch rules.
When a route matches, the router sets the handler
and handler_opts
middleware environment values containing the handler module and initial state, respectively.
The router will stop execution when no route matches. It will send a 400 response if no host was found, and a 404 response otherwise.
bindings() :: #{atom() => any()}
Bindings found during routing.
Opaque type containing the compiled routes.
routes() = [ {Host, PathList} | {Host, Fields, PathList} ] PathList :: [ {Path, Handler, InitialState} | {Path, Fields, Handler, InitialState} ] Host :: '_' | iodata() Path :: '_' | iodata() Fields :: cowboy:fields() Handler :: module() InitialState :: any()
Human readable list of routes to handlers.
Cowboy uses this list to map hosts and paths, optionally augmented with constraints applied to the bindings, to handler modules.
The syntax for routes is currently defined in the user guide.
tokens() :: [binary()]
List of host_info
and path_info
tokens that were found using the ...
syntax.
cowboy(7), cowboy_req:binding(3), cowboy_req:bindings(3), cowboy_req:host_info(3), cowboy_req:path_info(3)
Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:
Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.