Class Router

  • All Implemented Interfaces:
    Handler<HttpServerRequest>

    public class Router
    extends Object
    implements Handler<HttpServerRequest>
    A router receives request from an HttpServer and routes it to the first matching Route that it contains. A router can contain many routes.

    Routers are also used for routing failures.

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Field Detail

      • __TYPE_ARG

        public static final io.vertx.lang.rx.TypeArg<Router> __TYPE_ARG
    • Constructor Detail

      • Router

        public Router​(Router delegate)
      • Router

        public Router​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getDelegate

        public Router getDelegate()
      • putMetadata

        public Router putMetadata​(String key,
                                  Object value)
        Put metadata to this router. Used for saved extra data. Remove the existing value if value is null.
        Parameters:
        key - the metadata of key
        value - the metadata of value
        Returns:
        a reference to this, so the API can be used fluently
      • metadata

        public Map<String,​Object> metadata()
        Returns:
        the metadata of this router, never returns null.
      • getMetadata

        public <T> T getMetadata​(String key)
        Get some data from metadata.
        Parameters:
        key - the key for the metadata
        Returns:
        the data
      • router

        public static Router router​(Vertx vertx)
        Create a router
        Parameters:
        vertx - the Vert.x instance
        Returns:
        the router
      • route

        public Route route()
        Add a route with no matching criteria, i.e. it matches all requests or failures.
        Returns:
        the route
      • route

        public Route route​(HttpMethod method,
                           String path)
        Add a route that matches the specified HTTP method and path
        Parameters:
        method - the HTTP method to match
        path - URI paths that begin with this path will match
        Returns:
        the route
      • route

        public Route route​(String path)
        Add a route that matches the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • routeWithRegex

        public Route routeWithRegex​(HttpMethod method,
                                    String regex)
        Add a route that matches the specified HTTP method and path regex
        Parameters:
        method - the HTTP method to match
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • routeWithRegex

        public Route routeWithRegex​(String regex)
        Add a route that matches the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • get

        public Route get()
        Add a route that matches any HTTP GET request
        Returns:
        the route
      • get

        public Route get​(String path)
        Add a route that matches a HTTP GET request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • getWithRegex

        public Route getWithRegex​(String regex)
        Add a route that matches a HTTP GET request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • head

        public Route head()
        Add a route that matches any HTTP HEAD request
        Returns:
        the route
      • head

        public Route head​(String path)
        Add a route that matches a HTTP HEAD request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • headWithRegex

        public Route headWithRegex​(String regex)
        Add a route that matches a HTTP HEAD request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • options

        public Route options()
        Add a route that matches any HTTP OPTIONS request
        Returns:
        the route
      • options

        public Route options​(String path)
        Add a route that matches a HTTP OPTIONS request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • optionsWithRegex

        public Route optionsWithRegex​(String regex)
        Add a route that matches a HTTP OPTIONS request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • put

        public Route put()
        Add a route that matches any HTTP PUT request
        Returns:
        the route
      • put

        public Route put​(String path)
        Add a route that matches a HTTP PUT request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • putWithRegex

        public Route putWithRegex​(String regex)
        Add a route that matches a HTTP PUT request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • post

        public Route post()
        Add a route that matches any HTTP POST request
        Returns:
        the route
      • post

        public Route post​(String path)
        Add a route that matches a HTTP POST request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • postWithRegex

        public Route postWithRegex​(String regex)
        Add a route that matches a HTTP POST request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • delete

        public Route delete()
        Add a route that matches any HTTP DELETE request
        Returns:
        the route
      • delete

        public Route delete​(String path)
        Add a route that matches a HTTP DELETE request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • deleteWithRegex

        public Route deleteWithRegex​(String regex)
        Add a route that matches a HTTP DELETE request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • trace

        public Route trace()
        Add a route that matches any HTTP TRACE request
        Returns:
        the route
      • trace

        public Route trace​(String path)
        Add a route that matches a HTTP TRACE request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • traceWithRegex

        public Route traceWithRegex​(String regex)
        Add a route that matches a HTTP TRACE request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • connect

        public Route connect()
        Add a route that matches any HTTP CONNECT request
        Returns:
        the route
      • connect

        public Route connect​(String path)
        Add a route that matches a HTTP CONNECT request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • connectWithRegex

        public Route connectWithRegex​(String regex)
        Add a route that matches a HTTP CONNECT request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • patch

        public Route patch()
        Add a route that matches any HTTP PATCH request
        Returns:
        the route
      • patch

        public Route patch​(String path)
        Add a route that matches a HTTP PATCH request and the specified path
        Parameters:
        path - URI paths that begin with this path will match
        Returns:
        the route
      • patchWithRegex

        public Route patchWithRegex​(String regex)
        Add a route that matches a HTTP PATCH request and the specified path regex
        Parameters:
        regex - URI paths that begin with a match for this regex will match
        Returns:
        the route
      • getRoutes

        public List<Route> getRoutes()
        Returns:
        a list of all the routes on this router
      • clear

        public Router clear()
        Remove all the routes from this router
        Returns:
        a reference to this, so the API can be used fluently
      • errorHandler

        public Router errorHandler​(int statusCode,
                                   Handler<RoutingContext> errorHandler)
        Specify an handler to handle an error for a particular status code. You can use to manage general errors too using status code 500. The handler will be called when the context fails and other failure handlers didn't write the reply or when an exception is thrown inside an handler. You must not use RoutingContext.next() inside the error handler This does not affect the normal failure routing logic.
        Parameters:
        statusCode - status code the errorHandler is capable of handle
        errorHandler - error handler. Note: You must not use RoutingContext.next() inside the provided handler
        Returns:
        a reference to this, so the API can be used fluently
      • handleContext

        public void handleContext​(RoutingContext context)
        Used to route a context to the router. Used for sub-routers. You wouldn't normally call this method directly.
        Parameters:
        context - the routing context
      • handleFailure

        public void handleFailure​(RoutingContext context)
        Used to route a failure to the router. Used for sub-routers. You wouldn't normally call this method directly.
        Parameters:
        context - the routing context
      • modifiedHandler

        public Router modifiedHandler​(Handler<Router> handler)
        When a Router routes are changed this handler is notified. This is useful for routes that depend on the state of the router.
        Parameters:
        handler - a notification handler that will receive this router as argument
        Returns:
        a reference to this, so the API can be used fluently
      • allowForward

        public Router allowForward​(AllowForwardHeaders allowForwardHeaders)
        Set whether the router should parse "forwarded"-type headers
        Parameters:
        allowForwardHeaders - to enable parsing of "forwarded"-type headers
        Returns:
        a reference to this, so the API can be used fluently
      • newInstance

        public static Router newInstance​(Router arg)