Package io.micronaut.http.server.body
Class InputStreamBodyWriter
java.lang.Object
io.micronaut.http.server.body.InputStreamBodyWriter
- All Implemented Interfaces:
MessageBodyWriter<InputStream>,ResponseBodyWriter<InputStream>
@Internal
@Singleton
public final class InputStreamBodyWriter
extends Object
implements ResponseBodyWriter<InputStream>
Body writer for
InputStreams.- Since:
- 4.0.0
- Author:
- Graeme Rocher
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final HttpServerConfiguration.FileTypeHandlerConfiguration -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanhandleIfModifiedAndHeaders(HttpRequest<?> request, MutableHttpResponse<?> response, FileCustomizableResponseType systemFile, MutableHttpResponse<?> nettyResponse) protected ByteBodyHttpResponse<?>notModified(ByteBodyFactory bodyFactory, MutableHttpResponse<?> originalResponse) protected voidsetDateAndCacheHeaders(MutableHttpResponse response, long lastModified) protected voidsetDateHeader(MutableHttpResponse response) writePiece(@NonNull ByteBodyFactory bodyFactory, @NonNull HttpRequest<?> request, @NonNull HttpResponse<?> response, @NonNull Argument<InputStream> type, @NonNull MediaType mediaType, InputStream object) Write a piece of a larger response, e.g.voidwriteTo(Argument<InputStream> type, MediaType mediaType, InputStream object, MutableHeaders outgoingHeaders, OutputStream outputStream) Writes an object to the given output stream.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.http.body.MessageBodyWriter
createSpecific, isBlocking, isWriteable, writeToMethods inherited from interface io.micronaut.http.body.ResponseBodyWriter
write
-
Field Details
-
configuration
-
-
Method Details
-
writePiece
public CloseableByteBody writePiece(@NonNull @NonNull ByteBodyFactory bodyFactory, @NonNull @NonNull HttpRequest<?> request, @NonNull @NonNull HttpResponse<?> response, @NonNull @NonNull Argument<InputStream> type, @NonNull @NonNull MediaType mediaType, InputStream object) Description copied from interface:ResponseBodyWriterWrite a piece of a larger response, e.g. when writing a Publisher or a part of a multipart response. In this case, response headers cannot be modified.- Specified by:
writePiecein interfaceResponseBodyWriter<InputStream>- Parameters:
bodyFactory- The buffer factoryrequest- The requestresponse- The response this piece is part oftype- The type of this piecemediaType- The media type of this pieceobject- The piece to write- Returns:
- The response bytes
-
writeTo
public void writeTo(Argument<InputStream> type, MediaType mediaType, InputStream object, MutableHeaders outgoingHeaders, OutputStream outputStream) throws CodecException Description copied from interface:MessageBodyWriterWrites an object to the given output stream.- Specified by:
writeToin interfaceMessageBodyWriter<InputStream>- Parameters:
type- The typemediaType- The media typeobject- The object to writeoutgoingHeaders- The HTTP headersoutputStream- The output stream- Throws:
CodecException- If an error occurs decoding
-
handleIfModifiedAndHeaders
protected boolean handleIfModifiedAndHeaders(HttpRequest<?> request, MutableHttpResponse<?> response, FileCustomizableResponseType systemFile, MutableHttpResponse<?> nettyResponse) -
setDateAndCacheHeaders
- Parameters:
response- The Http responselastModified- The last modified
-
setDateHeader
- Parameters:
response- The Http response
-
notModified
protected ByteBodyHttpResponse<?> notModified(ByteBodyFactory bodyFactory, MutableHttpResponse<?> originalResponse)
-