ChannelWriterContent

class ChannelWriterContent(body: suspend ByteWriteChannel.() -> Unit, val contentType: ContentType?, val status: HttpStatusCode? = null, val contentLength: Long? = null) : OutgoingContent.WriteChannelContent

OutgoingContent to respond with ByteWriteChannel. The stream would be automatically closed after body finish.

Constructors

Link copied to clipboard
constructor(body: suspend ByteWriteChannel.() -> Unit, contentType: ContentType?, status: HttpStatusCode? = null, contentLength: Long? = null)

Properties

Link copied to clipboard

Gets or sets the CacheControl instance as an extension property on this content.

Link copied to clipboard
open override val contentLength: Long? = null

Specifies content length in bytes for this resource.

Link copied to clipboard
open override val contentType: ContentType?

Specifies ContentType for this resource.

Link copied to clipboard
open val headers: Headers

Headers to set when sending this content

Link copied to clipboard
open override val status: HttpStatusCode? = null

Status code to set when sending this content

Link copied to clipboard

Gets or sets a list of Version instances as an extension property on this content.

Functions

Link copied to clipboard
fun OutgoingContent.compressed(contentEncoder: ContentEncoder, coroutineContext: CoroutineContext = EmptyCoroutineContext): OutgoingContent?

Returns OutgoingContent compressed with contentEncoder if possible.

Link copied to clipboard
open fun <T : Any> getProperty(key: AttributeKey<T>): T?

Gets an extension property for this content

Link copied to clipboard
open fun <T : Any> setProperty(key: AttributeKey<T>, value: T?)

Sets an extension property for this content

Link copied to clipboard
open fun trailers(): Headers?

Trailers to set when sending this content, will be ignored if request is not in HTTP2 mode

Link copied to clipboard
open suspend override fun writeTo(channel: ByteWriteChannel)

Receives channel provided by the engine and writes all data to it