new Route()
A route is a holder for a set of criteria which determine whether an HTTP request or failure should be routed
to a handler.
- Source:
Methods
blockingHandler(requestHandler, ordered) → {Route}
Specify a blocking request handler for the route.
This method works just like Route#handler excepted that it will run the blocking handler on a worker thread
so that it won't block the event loop. Note that it's safe to call context.next() from the
blocking handler as it will be executed on the event loop context (and not on the worker thread.
If the blocking handler is ordered it means that any blocking handlers for the same context are never executed
concurrently but always in the order they were called. The default value of ordered is true. If you do not want this
behaviour and don't mind if your blocking handlers are executed in parallel you can set ordered to false.
Parameters:
Name | Type | Description |
---|---|---|
requestHandler |
function | the blocking request handler |
ordered |
boolean | if true handlers are executed in sequence, otherwise are run in parallel |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
consumes(contentType) → {Route}
Add a content type consumed by this route. Used for content based routing.
Parameters:
Name | Type | Description |
---|---|---|
contentType |
string | the content type |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
disable() → {Route}
Disable this route. While disabled the router will not route any requests or failures to it.
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
enable() → {Route}
Enable this route.
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
failureHandler(failureHandler) → {Route}
Specify a failure handler for the route. The router routes failures to failurehandlers depending on whether the various
criteria such as method, path, etc match. There can be only one failure handler for a route. If you set this more
than once it will overwrite the previous handler.
Parameters:
Name | Type | Description |
---|---|---|
failureHandler |
function | the request handler |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
getPath() → {string}
- Source:
Returns:
-
the path prefix (if any) for this route
-
- Type
- string
handler(requestHandler) → {Route}
Specify a request handler for the route. The router routes requests to handlers depending on whether the various
criteria such as method, path, etc match. There can be only one request handler for a route. If you set this more
than once it will overwrite the previous handler.
Parameters:
Name | Type | Description |
---|---|---|
requestHandler |
function | the request handler |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
last() → {Route}
Specify this is the last route for the router.
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
method(method) → {Route}
Add an HTTP method for this route. By default a route will match all HTTP methods. If any are specified then the route
will only match any of the specified methods
Parameters:
Name | Type | Description |
---|---|---|
method |
Object | the HTTP method to add |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
order(order) → {Route}
Specify the order for this route. The router tests routes in that order.
Parameters:
Name | Type | Description |
---|---|---|
order |
number | the order |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
path(path) → {Route}
Set the path prefix for this route. If set then this route will only match request URI paths which start with this
path prefix. Only a single path or path regex can be set for a route.
Parameters:
Name | Type | Description |
---|---|---|
path |
string | the path prefix |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
pathRegex(path) → {Route}
Set the path prefix as a regular expression. If set then this route will only match request URI paths, the beginning
of which match the regex. Only a single path or path regex can be set for a route.
Parameters:
Name | Type | Description |
---|---|---|
path |
string | the path regex |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
produces(contentType) → {Route}
Add a content type produced by this route. Used for content based routing.
Parameters:
Name | Type | Description |
---|---|---|
contentType |
string | the content type |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
remove() → {Route}
Remove this route from the router
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route
useNormalisedPath(useNormalisedPath) → {Route}
If true then the normalised request path will be used when routing (e.g. removing duplicate /)
Default is true
Parameters:
Name | Type | Description |
---|---|---|
useNormalisedPath |
boolean | use normalised path for routing? |
- Source:
Returns:
a reference to this, so the API can be used fluently
- Type
- Route