org.apache.http.nio.protocol

## Class UriHttpAsyncRequestHandlerMapper

- java.lang.Object
- - org.apache.http.nio.protocol.UriHttpAsyncRequestHandlerMapper

- All Implemented Interfaces:
    HttpAsyncRequestHandlerMapper

      @ThreadSafe
      public class UriHttpAsyncRequestHandlerMapper
      extends Object
      implements HttpAsyncRequestHandlerMapper

  Maintains a map of HTTP request handlers keyed by a request URI pattern.
  Patterns may have three formats:
  - `*`
  - `*<uri>`
  - `<uri>*`
  This class can be used to map an instance of `HttpAsyncRequestHandler` matching a particular request URI. Usually the mapped request handler will be used to process the request with the specified request URI.
  Since:
    4.3

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `UriHttpAsyncRequestHandlerMapper()`
    `protected` | `UriHttpAsyncRequestHandlerMapper(UriPatternMatcher<HttpAsyncRequestHandler<?>> matcher)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `getRequestPath(HttpRequest request)` Extracts request path from the given `HttpRequest`
    `HttpAsyncRequestHandler<?>` | `lookup(HttpRequest request)` Looks up a handler matching the given request URI.
    `void` | `register(String pattern, HttpAsyncRequestHandler<?> handler)` Registers the given `HttpAsyncRequestHandler` as a handler for URIs matching the given pattern.
    `void` | `unregister(String pattern)` Removes registered handler, if exists, for the given pattern.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UriHttpAsyncRequestHandlerMapper

          protected UriHttpAsyncRequestHandlerMapper(UriPatternMatcher<HttpAsyncRequestHandler<?>> matcher)

    - #### UriHttpAsyncRequestHandlerMapper

          public UriHttpAsyncRequestHandlerMapper()

  - ### Method Detail

    - #### register

          public void register(String pattern,
                      HttpAsyncRequestHandler<?> handler)

      Registers the given `HttpAsyncRequestHandler` as a handler for URIs matching the given pattern.
      Parameters:
        `pattern` - the pattern to register the handler for.
        `handler` - the handler.

    - #### unregister

          public void unregister(String pattern)

      Removes registered handler, if exists, for the given pattern.
      Parameters:
        `pattern` - the pattern to unregister the handler for.

    - #### getRequestPath

          protected String getRequestPath(HttpRequest request)

      Extracts request path from the given `HttpRequest`

    - #### lookup

          public HttpAsyncRequestHandler<?> lookup(HttpRequest request)

      Looks up a handler matching the given request URI.
      Specified by:
        `lookup` in interface `HttpAsyncRequestHandlerMapper`
      Parameters:
        `request` - the request
      Returns:
        handler or `null` if no match is found.

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.