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
- Author:
- Jonas Konrad
-
Constructor Summary
ModifierConstructorDescriptionprotected
RequestLifecycle
(RouteExecutor routeExecutor, HttpRequest<?> request) -
Method Summary
Modifier and TypeMethodDescriptionprotected @Nullable FileCustomizableResponseType
findFile()
Try to find a static file for this request.protected ExecutionFlow<RouteMatch<?>>
fulfillArguments
(RouteMatch<?> routeMatch) Fulfill the arguments of the given route with data from the request.protected final void
multipartEnabled
(boolean multipartEnabled) protected final ExecutionFlow<MutableHttpResponse<?>>
Execute this request normally.protected final ExecutionFlow<MutableHttpResponse<?>>
Handle an error in this request.protected final ExecutionFlow<MutableHttpResponse<?>>
onStatusError
(MutableHttpResponse<?> defaultResponse, String message) Build a status response.protected final HttpRequest<?>
request()
The request for this lifecycle.protected final ExecutionFlow<MutableHttpResponse<?>>
runWithFilters
(Supplier<ExecutionFlow<MutableHttpResponse<?>>> downstream) Run the filters for this request, and then run the given flow.
-
Constructor Details
-
RequestLifecycle
- Parameters:
routeExecutor
- The route executor to use for route resolutionrequest
- The request to process
-
-
Method Details
-
request
The request for this lifecycle. This may be changed by filters.- Returns:
- The current request
-
multipartEnabled
protected final void multipartEnabled(boolean multipartEnabled) -
normalFlow
Execute this request normally.- Returns:
- The response to the request.
-
onError
Handle an error in this request. Also runs filters for the error handling.- Parameters:
t
- The error- Returns:
- The response for the error
-
runWithFilters
protected final ExecutionFlow<MutableHttpResponse<?>> runWithFilters(Supplier<ExecutionFlow<MutableHttpResponse<?>>> downstream) Run the filters for this request, and then run the given flow.- Parameters:
downstream
- Downstream flow, runs inside the filters- Returns:
- Execution flow that completes after the all the filters and the downstream flow
-
onStatusError
protected final ExecutionFlow<MutableHttpResponse<?>> onStatusError(MutableHttpResponse<?> defaultResponse, String message) Build a status response. Calls any status routes, if available.- Parameters:
defaultResponse
- The default response if there is no status routemessage
- The error message- Returns:
- The computed response flow
-
findFile
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.- Returns:
- The file at this path, or
null
if none is found
-
fulfillArguments
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 fulfill- Returns:
- The fulfilled route match, after all necessary data is available
-