Class ResponseLifecycle
java.lang.Object
io.micronaut.http.server.ResponseLifecycle
This class handles encoding of the HTTP response in a server-agnostic way. Note that while this
class is internal, it is used from servlet and must not be broken.
- Since:
- 4.8.0
-
Constructor Summary
ConstructorsConstructorDescriptionResponseLifecycle(RouteExecutor routeExecutor, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService, io.micronaut.http.body.ByteBodyFactory byteBodyFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected io.micronaut.http.body.CloseableByteBodyconcatenate(org.reactivestreams.Publisher<io.micronaut.http.body.ByteBody> items) protected io.micronaut.http.body.CloseableByteBodyconcatenateJson(org.reactivestreams.Publisher<io.micronaut.http.body.ByteBody> items) final io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.ByteBodyHttpResponse<?>> encodeHttpResponseSafe(io.micronaut.http.HttpRequest<?> httpRequest, io.micronaut.http.HttpResponse<?> response) Encode the response.protected io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.ByteBodyHttpResponse<?>> encodeNoBody(io.micronaut.http.HttpResponse<?> response) Encode the given response without body, either because it has none or because this is a HEAD response.protected final io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.ByteBodyHttpResponse<?>> handleStreamingError(io.micronaut.http.HttpRequest<?> request, Throwable t) Handle an error that happened before the first item of a streaming response.protected abstract ExecutorThe IO executor for blocking writers.protected <T> io.micronaut.http.body.ResponseBodyWriter<T> wrap(io.micronaut.http.body.MessageBodyWriter<T> messageBodyWriter) Transform the given writer into aResponseBodyWriter.
-
Constructor Details
-
ResponseLifecycle
public ResponseLifecycle(RouteExecutor routeExecutor, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService, io.micronaut.http.body.ByteBodyFactory byteBodyFactory)
-
-
Method Details
-
ioExecutor
The IO executor for blocking writers.- Returns:
- The blocking executor
-
wrap
protected <T> io.micronaut.http.body.ResponseBodyWriter<T> wrap(io.micronaut.http.body.MessageBodyWriter<T> messageBodyWriter) Transform the given writer into aResponseBodyWriter.- Type Parameters:
T- The writer type- Parameters:
messageBodyWriter- The writer- Returns:
- The response writer
-
encodeHttpResponseSafe
public final io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.ByteBodyHttpResponse<?>> encodeHttpResponseSafe(io.micronaut.http.HttpRequest<?> httpRequest, io.micronaut.http.HttpResponse<?> response) Encode the response.- Parameters:
httpRequest- The request that triggered this responseresponse- The unencoded response- Returns:
- The encoded response
-
encodeNoBody
protected io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.ByteBodyHttpResponse<?>> encodeNoBody(io.micronaut.http.HttpResponse<?> response) Encode the given response without body, either because it has none or because this is a HEAD response.- Parameters:
response- The response- Returns:
- The encoded response
-
concatenate
protected io.micronaut.http.body.CloseableByteBody concatenate(org.reactivestreams.Publisher<io.micronaut.http.body.ByteBody> items) - Parameters:
items- The items- Returns:
- The concatenated body
- See Also:
-
concatenateJson
protected io.micronaut.http.body.CloseableByteBody concatenateJson(org.reactivestreams.Publisher<io.micronaut.http.body.ByteBody> items) - Parameters:
items- The items- Returns:
- The concatenated body
- See Also:
-
handleStreamingError
protected final io.micronaut.core.execution.ExecutionFlow<? extends io.micronaut.http.ByteBodyHttpResponse<?>> handleStreamingError(io.micronaut.http.HttpRequest<?> request, Throwable t) Handle an error that happened before the first item of a streaming response.- Parameters:
request- The requestt- The error- Returns:
- The encoded error response
-