Options
All
  • Public
  • Public/Protected
  • All
Menu

Class 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.

Hierarchy

  • Route

Index

Methods

blockingHandler

  • Like {@link Route#blockingHandler} called with ordered = true

    Parameters

    Returns Route

  • Specify a blocking request handler for the route. This method works just like {@link 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

    Returns Route

consumes

  • consumes(contentType: string): Route
  • Add a content type consumed by this route. Used for content based routing.

    Parameters

    • contentType: string

    Returns Route

disable

  • Disable this route. While disabled the router will not route any requests or failures to it.

    Returns Route

enable

  • Enable this route.

    Returns Route

failureHandler

  • Append a failure handler to the route failure handlers list. The router routes failures to failurehandlers depending on whether the various criteria such as method, path, etc match. When method, path, etc are the same for different routes, You should add multiple failure handlers to the same route object rather than creating two different routes objects with one failure handler for route

    Parameters

    Returns Route

getMetadata

  • getMetadata<T>(key: string): T
  • Get some data from metadata.

    Type parameters

    • T

    Parameters

    • key: string

    Returns T

getName

  • getName(): string
  • Returns string

getPath

  • getPath(): string | null
  • Returns string | null

handler

  • Append a request handler to the route handlers list. The router routes requests to handlers depending on whether the various criteria such as method, path, etc match. When method, path, etc are the same for different routes, You should add multiple handlers to the same route object rather than creating two different routes objects with one handler for route

    Parameters

    Returns Route

isExactPath

  • isExactPath(): boolean
  • Returns true of the path doesn't end with a wildcard * or is null. Regular expression paths are always assumed to be exact.

    Returns boolean

isRegexPath

  • isRegexPath(): boolean
  • Returns true of the path is a regular expression, this includes expression paths.

    Returns boolean

last

  • Specify this is the last route for the router.

    Returns Route

metadata

  • metadata(): {}
  • Returns {}

    • [key: string]: any

method

  • method(method: HttpMethod): 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

    • method: HttpMethod

    Returns Route

methods

  • methods(): HttpMethod
  • Returns HttpMethod

order

  • order(order: number): Route
  • Specify the order for this route. The router tests routes in that order.

    Parameters

    • order: number

    Returns Route

path

  • path(path: string): 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

    • path: string

    Returns Route

pathRegex

  • pathRegex(path: string): 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

    • path: string

    Returns Route

produces

  • produces(contentType: string): Route
  • Add a content type produced by this route. Used for content based routing.

    Parameters

    • contentType: string

    Returns Route

putMetadata

  • putMetadata(key: string, value: any): Route
  • Put metadata to this route. Used for saved extra data. Remove the existing value if value is null.

    Parameters

    • key: string
    • value: any

    Returns Route

remove

  • Remove this route from the router

    Returns Route

respond

  • Append a function request handler to the route handlers list. The function expects to receive the routing context and users are expected to return a . The use of this functional interface allows users to quickly link the responses from other vert.x APIs or clients directly to a handler. If the context response has been ended, for example, {@link RoutingContext#end} has been called, then nothing shall happen. For the remaining cases, the following rules apply:

    1. When body is null then the status code of the response shall be 204 (NO CONTENT)
    2. When body is of type and the Content-Type isn't set then the Content-Type shall be application/octet-stream
    3. When body is of type String and the Content-Type isn't set then the Content-Type shall be text/html
    4. Otherwise the response of the future is then passed to the method {@link RoutingContext#json} to perform a JSON serialization of the result

    Internally the function is wrapped as a handler that handles error cases for the user too. For example, if the function throws an exception the error will be catched and a proper error will be propagated throw the router.

    Also if the same happens while encoding the response, errors are catched and propagated to the router.

    Type parameters

    • T

    Parameters

    Returns Route

setName

  • setName(name: string): Route
  • Giving a name to a route will provide this name as metadata to requests matching this route. This metadata is used by metrics and is meant to group requests with different URI paths (due to parameters) by a common identifier, for example "/resource/:resourceID" common name

    Parameters

    • name: string

    Returns Route

setRegexGroupsNames

  • setRegexGroupsNames(groups: string): Route
  • When you add a new route with a regular expression, you can add named capture groups for parameters.
    However, if you need more complex parameters names (like "param_name"), you can add parameters names with this function. You have to name capture groups in regex with names: "p0", "p1", "p2", ...

    For example: If you declare route with regex /(?[a-z])/(?[a-z]) and group names ["param_a", "param-b"] for uri /hello/world you receive inside pathParams() the parameter param_a = "hello"

    Parameters

    • groups: string

    Returns Route

subRouter

  • Use a (sub) Router as a handler. There are several requirements to be fulfilled for this to be accepted.

    • The route path must end with a wild card
    • Parameters are allowed but full regex patterns not
    • No other handler can be registered before or after this call (but they can on a new route object for the same path)
    • Only 1 router per path object

    Parameters

    Returns Route

useNormalisedPath

  • useNormalisedPath(useNormalizedPath: boolean): Route
  • Use {@link Route#useNormalizedPath} instead

    Parameters

    • useNormalizedPath: boolean

    Returns Route

useNormalizedPath

  • useNormalizedPath(useNormalizedPath: boolean): Route
  • If true then the normalized request path will be used when routing (e.g. removing duplicate /) Default is true

    Parameters

    • useNormalizedPath: boolean

    Returns Route

virtualHost

  • virtualHost(hostnamePattern: string): Route
  • Add a virtual host filter for this route.

    Parameters

    • hostnamePattern: string

    Returns Route

Generated using TypeDoc