Router
import { Router } from "https://raw.githubusercontent.com/mandarineorg/mandarinets/master/deps.ts";
An interface for registering middleware that will run when certain HTTP methods and paths are requested, as well as provides a way to parameterize parts of the requested path.
§Type Parameters
§Methods
Register named middleware for the specified routes when the DELETE
,
GET
, POST
, or PUT
method is requested.
Middleware that handles requests for HTTP methods registered with the router. If none of the routes handle a method, then "not allowed" logic will be used. If a method is supported by some routes, but not the particular matched router, then "not implemented" will be returned.
The middleware will also automatically handle the OPTIONS
method,
responding with a 200 OK
when the Allowed
header sent to the allowed
methods for a given route.
By default, a "not allowed" request will respond with a 405 Not Allowed
and a "not implemented" will respond with a 501 Not Implemented
. Setting
the option .throw
to true
will cause the middleware to throw an
HTTPError
instead of setting the response status. The error can be
overridden by providing a .notImplemented
or .notAllowed
method in the
options, of which the value will be returned will be thrown instead of the
HTTP error.
Register named middleware for the specified routes when the DELETE
,
method is requested.
Iterate over the routes currently added to the router. To be compatible with the iterable interfaces, both the key and value are set to the value of the route.
Iterate over the routes currently added to the router, calling the
callback
function for each value.
Register named middleware for the specified routes when the GET
,
method is requested.
Register named middleware for the specified routes when the HEAD
,
method is requested.
Iterate over the routes currently added to the router. To be compatible with the iterable interfaces, the key is set to the value of the route.
Register named middleware for the specified routes when the OPTIONS
,
method is requested.
Register named middleware for the specified routes when the PATCH
,
method is requested.
Register named middleware for the specified routes when the POST
,
method is requested.
Register named middleware for the specified routes when the PUT
method is requested.
Register a direction middleware, where when the source
path is matched
the router will redirect the request to the destination
path. A status
of 302 Found
will be set by default.
The source
and destination
can be named routes.
Return middleware that will do all the route processing that the router has been configured to handle. Typical usage would be something like this:
import { Application, Router } from "https://deno.land/x/oak/mod.ts";
const app = new Application();
const router = new Router();
// register routes
app.use(router.routes());
app.use(router.allowedMethods());
await app.listen({ port: 80 });
Generate a URL pathname for a named route, interpolating the optional params provided. Also accepts an optional set of options.
Register middleware to be used on every matched route.
Iterate over the routes currently added to the router.
Provide an iterator interface that iterates over the routes registered with the router.