Class Router

java.lang.Object
io.vertx.reactivex.ext.web.Router
All Implemented Interfaces:
Handler<HttpServerRequest>, io.vertx.lang.rx.RxDelegate

public class Router extends Object implements io.vertx.lang.rx.RxDelegate, 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 Details

    • __TYPE_ARG

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

    • Router

      public Router(Router delegate)
    • Router

      public Router(Object delegate)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public Router getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • handle

      public void handle(HttpServerRequest event)
      Something has happened, so handle it.
      Specified by:
      handle in interface Handler<HttpServerRequest>
      Parameters:
      event - the event to handle
    • 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
    • uncaughtErrorHandler

      public Router uncaughtErrorHandler(Handler<RoutingContext> errorHandler)
      Specify an handler to handle an error for any status code that doesn't have a specific handler assigned. 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:
      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)