Package io.micronaut.http.server
Class RequestLifecycle
java.lang.Object
io.micronaut.http.server.RequestLifecycle
This class handles the full route processing lifecycle for a request.
- Since:
- 4.0.0
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRequestLifecycle(RouteExecutor routeExecutor) protectedRequestLifecycle(RouteExecutor routeExecutor, io.micronaut.http.HttpRequest<?> request) Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0 -
Method Summary
Modifier and TypeMethodDescriptionprotected @Nullable FileCustomizableResponseTypefindFile()Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0protected @Nullable FileCustomizableResponseTypefindFile(io.micronaut.http.HttpRequest<?> request) Try to find a static file for this request.protected io.micronaut.core.execution.ExecutionFlow<io.micronaut.web.router.RouteMatch<?>>fulfillArguments(io.micronaut.web.router.RouteMatch<?> routeMatch, io.micronaut.http.HttpRequest<?> request) Fulfill the arguments of the given route with data from the request.protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>normalFlow(io.micronaut.http.HttpRequest<?> request) Execute this request normally.protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>Handle an error in this request.protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>onStatusError(io.micronaut.http.HttpRequest<?> request, io.micronaut.http.MutableHttpResponse<?> defaultResponse, String message) Build a status response.protected final io.micronaut.http.HttpRequest<?>request()Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>runWithFilters(io.micronaut.http.HttpRequest<?> request, BiFunction<io.micronaut.http.HttpRequest<?>, io.micronaut.core.propagation.PropagatedContext, io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>> responseProvider) Run the filters for this request, and then run the given flow.
-
Constructor Details
-
RequestLifecycle
- Parameters:
routeExecutor- The route executor to use for route resolution
-
RequestLifecycle
@Deprecated(forRemoval=true, since="4.3.0") protected RequestLifecycle(RouteExecutor routeExecutor, io.micronaut.http.HttpRequest<?> request) Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0- Parameters:
routeExecutor- The route executor to use for route resolutionrequest- The request
-
-
Method Details
-
normalFlow
@Deprecated(forRemoval=true, since="4.3.0") protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>> normalFlow()Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0Execute this request normally.- Returns:
- The response to the request.
-
request
@Deprecated(forRemoval=true, since="4.3.0") protected final io.micronaut.http.HttpRequest<?> request()Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0The request for this lifecycle. This may be changed by filters.- Returns:
- The current request
-
findFile
@Deprecated(forRemoval=true, since="4.3.0") @Nullable protected @Nullable FileCustomizableResponseType findFile()Deprecated, for removal: This API element is subject to removal in a future version.Will be removed after 4.3.0Try to find a static file for this request. If there is a file, filters will still run, but only after the call to this method.- Returns:
- The file at this path, or
nullif none is found
-
normalFlow
protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>> normalFlow(io.micronaut.http.HttpRequest<?> request) Execute this request normally.- Parameters:
request- The request- Returns:
- The response to the request.
-
onError
protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>> onError(io.micronaut.http.HttpRequest<?> request, Throwable throwable) Handle an error in this request. It also runs filters for the error handling.- Parameters:
request- The requestthrowable- The error- Returns:
- The response for the error
-
runWithFilters
protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>> runWithFilters(io.micronaut.http.HttpRequest<?> request, BiFunction<io.micronaut.http.HttpRequest<?>, io.micronaut.core.propagation.PropagatedContext, io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>>> responseProvider) Run the filters for this request, and then run the given flow.- Parameters:
request- The requestresponseProvider- Downstream flow, runs inside the filters- Returns:
- Execution flow that completes after the all the filters and the downstream flow
-
onStatusError
protected final io.micronaut.core.execution.ExecutionFlow<io.micronaut.http.HttpResponse<?>> onStatusError(io.micronaut.http.HttpRequest<?> request, io.micronaut.http.MutableHttpResponse<?> defaultResponse, String message) Build a status response. Calls any status routes, if available.- Parameters:
request- The requestdefaultResponse- The default response if there is no status routemessage- The error message- Returns:
- The computed response flow
-
findFile
@Nullable protected @Nullable FileCustomizableResponseType findFile(io.micronaut.http.HttpRequest<?> request) Try to find a static file for this request. If there is a file, filters will still run, but only after the call to this method.- Parameters:
request- The request- Returns:
- The file at this path, or
nullif none is found
-
fulfillArguments
protected io.micronaut.core.execution.ExecutionFlow<io.micronaut.web.router.RouteMatch<?>> fulfillArguments(io.micronaut.web.router.RouteMatch<?> routeMatch, io.micronaut.http.HttpRequest<?> request) Fulfill the arguments of the given route with data from the request. If necessary, this also waits for body data to be available, if there are arguments that need immediate binding.
Note that in some cases some arguments may still be unsatisfied after this, if they are missing and areOptional. They are satisfied withOptional.empty()later.- Parameters:
routeMatch- The route match to fulfillrequest- The request- Returns:
- The fulfilled route match, after all necessary data is available
-