Package io.micronaut.http.server
Class RouteExecutor
- java.lang.Object
-
- io.micronaut.http.server.RouteExecutor
-
@Singleton public final class RouteExecutor extends java.lang.ObjectA class responsible for executing routes.- Since:
- 3.0.0
-
-
Constructor Summary
Constructors Constructor Description RouteExecutor(io.micronaut.web.router.Router router, io.micronaut.context.BeanContext beanContext, RequestArgumentSatisfier requestArgumentSatisfier, HttpServerConfiguration serverConfiguration, ErrorResponseProcessor<?> errorResponseProcessor, io.micronaut.scheduling.executor.ExecutorSelector executorSelector)Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.micronaut.http.MutableHttpResponse<?>createDefaultErrorResponse(io.micronaut.http.HttpRequest<?> httpRequest, java.lang.Throwable cause)Creates a default error response.reactor.core.publisher.Flux<io.micronaut.http.MutableHttpResponse<?>>executeRoute(io.micronaut.http.HttpRequest<?> request, boolean executeFilters, reactor.core.publisher.Flux<io.micronaut.web.router.RouteMatch<?>> routePublisher)Executes a route.org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>>filterPublisher(java.util.concurrent.atomic.AtomicReference<io.micronaut.http.HttpRequest<?>> requestReference, org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>> upstreamResponsePublisher)Applies server filters to a request/response.java.util.Optional<CoroutineHelper>getCoroutineHelper()ErrorResponseProcessor<?>getErrorResponseProcessor()io.micronaut.scheduling.executor.ExecutorSelectorgetExecutorSelector()RequestArgumentSatisfiergetRequestArgumentSatisfier()io.micronaut.web.router.RoutergetRouter()reactor.core.publisher.Flux<io.micronaut.http.MutableHttpResponse<?>>onError(java.lang.Throwable t, io.micronaut.http.HttpRequest<?> httpRequest)Creates a response publisher to represent the response after being handled by any available error route or exception handler.io.micronaut.http.MediaTyperesolveDefaultResponseContentType(io.micronaut.http.HttpRequest<?> request, io.micronaut.web.router.RouteInfo<?> finalRoute)
-
-
-
Constructor Detail
-
RouteExecutor
public RouteExecutor(io.micronaut.web.router.Router router, io.micronaut.context.BeanContext beanContext, RequestArgumentSatisfier requestArgumentSatisfier, HttpServerConfiguration serverConfiguration, ErrorResponseProcessor<?> errorResponseProcessor, io.micronaut.scheduling.executor.ExecutorSelector executorSelector)Default constructor.- Parameters:
router- The routerbeanContext- The bean contextrequestArgumentSatisfier- The request argument satisfierserverConfiguration- The server configurationerrorResponseProcessor- The error response processorexecutorSelector- The executor selector
-
-
Method Detail
-
getRouter
@NonNull public io.micronaut.web.router.Router getRouter()
- Returns:
- The router
-
getRequestArgumentSatisfier
@Internal @NonNull public RequestArgumentSatisfier getRequestArgumentSatisfier()
- Returns:
- The request argument satisfier
-
getErrorResponseProcessor
@NonNull public ErrorResponseProcessor<?> getErrorResponseProcessor()
- Returns:
- The error response processor
-
getExecutorSelector
@NonNull public io.micronaut.scheduling.executor.ExecutorSelector getExecutorSelector()
- Returns:
- The executor selector
-
getCoroutineHelper
public java.util.Optional<CoroutineHelper> getCoroutineHelper()
- Returns:
- The kotlin coroutine helper
-
onError
public reactor.core.publisher.Flux<io.micronaut.http.MutableHttpResponse<?>> onError(java.lang.Throwable t, io.micronaut.http.HttpRequest<?> httpRequest)Creates a response publisher to represent the response after being handled by any available error route or exception handler.- Parameters:
t- The exception that occurredhttpRequest- The request that caused the exception- Returns:
- A response publisher
-
createDefaultErrorResponse
public io.micronaut.http.MutableHttpResponse<?> createDefaultErrorResponse(io.micronaut.http.HttpRequest<?> httpRequest, java.lang.Throwable cause)Creates a default error response. Should be used when a response could not be retrieved from any other method.- Parameters:
httpRequest- The request that case the exceptioncause- The exception that occurred- Returns:
- A response to represent the exception
-
resolveDefaultResponseContentType
public io.micronaut.http.MediaType resolveDefaultResponseContentType(io.micronaut.http.HttpRequest<?> request, io.micronaut.web.router.RouteInfo<?> finalRoute)- Parameters:
request- The requestfinalRoute- The route- Returns:
- The default content type declared on the route
-
executeRoute
public reactor.core.publisher.Flux<io.micronaut.http.MutableHttpResponse<?>> executeRoute(io.micronaut.http.HttpRequest<?> request, boolean executeFilters, reactor.core.publisher.Flux<io.micronaut.web.router.RouteMatch<?>> routePublisher)Executes a route.- Parameters:
request- The request that matched to the routeexecuteFilters- Whether or not to execute server filtersroutePublisher- The route match publisher- Returns:
- A response publisher
-
filterPublisher
public org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>> filterPublisher(java.util.concurrent.atomic.AtomicReference<io.micronaut.http.HttpRequest<?>> requestReference, org.reactivestreams.Publisher<io.micronaut.http.MutableHttpResponse<?>> upstreamResponsePublisher)Applies server filters to a request/response.- Parameters:
requestReference- The request referenceupstreamResponsePublisher- The original response publisher- Returns:
- A new response publisher that executes server filters
-
-