Class RouteExecutor


  • @Singleton
    public final class RouteExecutor
    extends java.lang.Object
    A class responsible for executing routes.
    Since:
    3.0.0
    • 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.ExecutorSelector getExecutorSelector()  
      RequestArgumentSatisfier getRequestArgumentSatisfier()  
      io.micronaut.web.router.Router getRouter()  
      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.MediaType resolveDefaultResponseContentType​(io.micronaut.http.HttpRequest<?> request, io.micronaut.web.router.RouteInfo<?> finalRoute)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 router
        beanContext - The bean context
        requestArgumentSatisfier - The request argument satisfier
        serverConfiguration - The server configuration
        errorResponseProcessor - The error response processor
        executorSelector - 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 occurred
        httpRequest - 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 exception
        cause - 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 request
        finalRoute - 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 route
        executeFilters - Whether or not to execute server filters
        routePublisher - 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 reference
        upstreamResponsePublisher - The original response publisher
        Returns:
        A new response publisher that executes server filters