@Singleton public class DefaultRouter extends java.lang.Object implements Router, io.micronaut.http.filter.HttpServerFilterResolver<RouteMatch<?>>
The default Router implementation. This implementation does not perform any additional caching of
route discovery.
| Constructor and Description |
|---|
DefaultRouter(java.util.Collection<RouteBuilder> builders)
Construct a new router for the given route builders.
|
DefaultRouter(RouteBuilder... builders)
Construct a new router for the given route builders.
|
| Modifier and Type | Method and Description |
|---|---|
void |
applyDefaultPorts(java.util.List<java.lang.Integer> ports)
Sets the ports the application will listen to by default.
|
<T,R> java.util.stream.Stream<UriRouteMatch<T,R>> |
find(io.micronaut.http.HttpMethod httpMethod,
java.lang.CharSequence uri,
io.micronaut.http.HttpRequest<?> context)
Finds all of the possible routes for the given HTTP method and URI.
|
<T,R> java.util.stream.Stream<UriRouteMatch<T,R>> |
find(io.micronaut.http.HttpRequest<?> request)
Finds all of the possible routes for the given HTTP request.
|
<T,R> java.util.stream.Stream<UriRouteMatch<T,R>> |
find(io.micronaut.http.HttpRequest<?> request,
java.lang.CharSequence uri)
Find method, that should be used for non-standard http methods.
|
<T,R> java.util.List<UriRouteMatch<T,R>> |
findAllClosest(io.micronaut.http.HttpRequest<?> request)
Finds the closest match for the given request.
|
<T,R> java.util.stream.Stream<UriRouteMatch<T,R>> |
findAny(java.lang.CharSequence uri,
io.micronaut.http.HttpRequest<?> context)
Find any
RouteMatch regardless of HTTP method. |
<R> java.util.Optional<RouteMatch<R>> |
findErrorRoute(java.lang.Class<?> originatingClass,
java.lang.Throwable error,
io.micronaut.http.HttpRequest<?> request)
Match a route to an error.
|
<R> java.util.Optional<RouteMatch<R>> |
findErrorRoute(java.lang.Throwable error,
io.micronaut.http.HttpRequest<?> request)
Match a route to an error.
|
java.util.List<io.micronaut.http.filter.HttpFilter> |
findFilters(io.micronaut.http.HttpRequest<?> request)
Build a filtered
Publisher for an action. |
<R> java.util.Optional<RouteMatch<R>> |
findStatusRoute(java.lang.Class<?> originatingClass,
io.micronaut.http.HttpStatus status,
io.micronaut.http.HttpRequest<?> request)
Found a
RouteMatch for the given HttpStatus code. |
<R> java.util.Optional<RouteMatch<R>> |
findStatusRoute(io.micronaut.http.HttpStatus status,
io.micronaut.http.HttpRequest<?> request)
Found a
RouteMatch for the given HttpStatus code. |
java.util.Set<java.lang.Integer> |
getExposedPorts() |
java.util.List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry<io.micronaut.http.filter.HttpFilter>> |
resolveFilterEntries(RouteMatch<?> routeMatch) |
java.util.List<io.micronaut.http.filter.HttpFilter> |
resolveFilters(io.micronaut.http.HttpRequest<?> request,
java.util.List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry<io.micronaut.http.filter.HttpFilter>> filterEntries) |
<R> java.util.Optional<RouteMatch<R>> |
route(java.lang.Class originatingClass,
io.micronaut.http.HttpStatus status)
Found a
RouteMatch for the given HttpStatus code. |
<R> java.util.Optional<RouteMatch<R>> |
route(java.lang.Class originatingClass,
java.lang.Throwable error)
Match a route to an error.
|
<T,R> java.util.Optional<UriRouteMatch<T,R>> |
route(io.micronaut.http.HttpMethod httpMethod,
java.lang.CharSequence uri)
Finds the first possible route for the given HTTP method and URI.
|
<R> java.util.Optional<RouteMatch<R>> |
route(io.micronaut.http.HttpStatus status)
Found a
RouteMatch for the given HttpStatus code. |
<R> java.util.Optional<RouteMatch<R>> |
route(java.lang.Throwable error)
Match a route to an error.
|
java.util.stream.Stream<UriRoute> |
uriRoutes()
Returns all UriRoutes.
|
public DefaultRouter(RouteBuilder... builders)
builders - The builders@Inject public DefaultRouter(java.util.Collection<RouteBuilder> builders)
builders - The builderspublic java.util.Set<java.lang.Integer> getExposedPorts()
getExposedPorts in interface Routerpublic void applyDefaultPorts(java.util.List<java.lang.Integer> ports)
RouterapplyDefaultPorts in interface Routerports - The default ports@NonNull public <T,R> java.util.stream.Stream<UriRouteMatch<T,R>> find(@NonNull io.micronaut.http.HttpRequest<?> request, @NonNull java.lang.CharSequence uri)
RouterRouter.find(HttpMethod, CharSequence, HttpRequest)@NonNull public <T,R> java.util.stream.Stream<UriRouteMatch<T,R>> find(@NonNull io.micronaut.http.HttpRequest<?> request)
Router@NonNull public <T,R> java.util.stream.Stream<UriRouteMatch<T,R>> find(@NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull java.lang.CharSequence uri, @Nullable io.micronaut.http.HttpRequest<?> context)
Routerfind in interface RouterT - The target typeR - The typehttpMethod - The HTTP methoduri - The URI route matchcontext - The optional HttpRequest context information to apply RouteMatchFilter.Stream of possible Route instances.@NonNull public java.util.stream.Stream<UriRoute> uriRoutes()
Router@NonNull public <T,R> java.util.List<UriRouteMatch<T,R>> findAllClosest(@NonNull io.micronaut.http.HttpRequest<?> request)
RouterfindAllClosest in interface RouterT - The target typeR - The typerequest - The requestList of possible Route instances.@NonNull public <T,R> java.util.Optional<UriRouteMatch<T,R>> route(@NonNull io.micronaut.http.HttpMethod httpMethod, @NonNull java.lang.CharSequence uri)
Routerpublic <R> java.util.Optional<RouteMatch<R>> route(@NonNull io.micronaut.http.HttpStatus status)
RouterRouteMatch for the given HttpStatus code.route in interface RouterR - The matched routestatus - The HTTP statusRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> route(@NonNull java.lang.Class originatingClass, @NonNull io.micronaut.http.HttpStatus status)
RouterRouteMatch for the given HttpStatus code.route in interface RouterR - The matched routeoriginatingClass - The class the error originates fromstatus - The HTTP statusRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> route(@NonNull java.lang.Class originatingClass, @NonNull java.lang.Throwable error)
Routerroute in interface RouterR - The matched routeoriginatingClass - The class the error originates fromerror - The errorRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> findErrorRoute(@NonNull java.lang.Class<?> originatingClass, @NonNull java.lang.Throwable error, io.micronaut.http.HttpRequest<?> request)
RouterfindErrorRoute in interface RouterR - The matched routeoriginatingClass - The class the error originates fromerror - The errorrequest - The requestRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> findErrorRoute(@NonNull java.lang.Throwable error, io.micronaut.http.HttpRequest<?> request)
RouterfindErrorRoute in interface RouterR - The matched routeerror - The errorrequest - The requestRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> findStatusRoute(@NonNull java.lang.Class<?> originatingClass, @NonNull io.micronaut.http.HttpStatus status, io.micronaut.http.HttpRequest<?> request)
RouterRouteMatch for the given HttpStatus code.findStatusRoute in interface RouterR - The matched routeoriginatingClass - The class the error originates fromstatus - The HTTP statusrequest - The requestRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> findStatusRoute(@NonNull io.micronaut.http.HttpStatus status, io.micronaut.http.HttpRequest<?> request)
RouterRouteMatch for the given HttpStatus code.findStatusRoute in interface RouterR - The matched routestatus - The HTTP statusrequest - The requestRouteMatchpublic <R> java.util.Optional<RouteMatch<R>> route(@NonNull java.lang.Throwable error)
Routerroute in interface RouterR - The matched routeerror - The errorRouteMatch@NonNull
public java.util.List<io.micronaut.http.filter.HttpFilter> findFilters(@NonNull
io.micronaut.http.HttpRequest<?> request)
RouterPublisher for an action.findFilters in interface Routerrequest - The request@NonNull public <T,R> java.util.stream.Stream<UriRouteMatch<T,R>> findAny(@NonNull java.lang.CharSequence uri, @Nullable io.micronaut.http.HttpRequest<?> context)
RouterRouteMatch regardless of HTTP method.findAny in interface RouterT - The target typeR - The return typeuri - The URIcontext - The optional HttpRequest context information to apply RouteMatchFilter.public java.util.List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry<io.micronaut.http.filter.HttpFilter>> resolveFilterEntries(RouteMatch<?> routeMatch)
resolveFilterEntries in interface io.micronaut.http.filter.HttpFilterResolver<io.micronaut.http.filter.HttpFilter,RouteMatch<?>>public java.util.List<io.micronaut.http.filter.HttpFilter> resolveFilters(io.micronaut.http.HttpRequest<?> request,
java.util.List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry<io.micronaut.http.filter.HttpFilter>> filterEntries)
resolveFilters in interface io.micronaut.http.filter.HttpFilterResolver<io.micronaut.http.filter.HttpFilter,RouteMatch<?>>