ApplicationSendPipeline

open class ApplicationSendPipeline : 
    Pipeline<Any, ApplicationCall>

Server response send pipeline

Constructors

<init>

ApplicationSendPipeline()

Server response send pipeline

Inherited Properties

attributes

val attributes: Attributes

Provides common place to store pipeline attributes

isEmpty

val isEmpty: Boolean

items

val items: List<PipelinePhase>

Phases of this pipeline

Inherited Functions

addPhase

fun addPhase(phase: PipelinePhase): Unit

Adds phase to the end of this pipeline

afterIntercepted

open fun afterIntercepted(): Unit

Invoked after an interceptor has been installed

execute

suspend fun execute(
    context: TContext,
    subject: TSubject
): TSubject

Executes this pipeline in the given context and with the given subject

insertPhaseAfter

fun insertPhaseAfter(
    reference: PipelinePhase,
    phase: PipelinePhase
): Unit

Inserts phase after the reference phase

insertPhaseBefore

fun insertPhaseBefore(
    reference: PipelinePhase,
    phase: PipelinePhase
): Unit

Inserts phase before the reference phase

intercept

fun intercept(
    phase: PipelinePhase,
    block: PipelineInterceptor<TSubject, TContext>
): Unit

Adds block to the phase of this pipeline

merge

fun merge(from: Pipeline<TSubject, TContext>): Unit

Merges another pipeline into this pipeline, maintaining relative phases order

Companion Object Properties

After

val After: PipelinePhase

The latest application phase that happens right before engine will send the response

Before

val Before: PipelinePhase

The earliest phase that happens before any other

ContentEncoding

val ContentEncoding: PipelinePhase

Phase for processing Content-Encoding, like compression and partial content

Engine

val Engine: PipelinePhase

Phase for Engine to send the response out to client.

Render

val Render: PipelinePhase

Phase to render any current pipeline subject into io.ktor.http.content.OutgoingContent

TransferEncoding

val TransferEncoding: PipelinePhase

Phase for handling Transfer-Encoding, like if chunked encoding is being done manually and not by engine

Transform

val Transform: PipelinePhase

Transformation phase that can proceed with any supported data like String

Extension Functions

execute

suspend fun <TContext : Any> Pipeline<Unit, TContext>.execute(
    context: TContext
): Unit

Executes this pipeline

installDefaultTransformations

fun ApplicationSendPipeline.installDefaultTransformations(): Unit

Default send transformation

intercept

fun <TSubject : Any, TContext : Any> Pipeline<*, TContext>.intercept(
    phase: PipelinePhase,
    block: suspend PipelineContext<TSubject, TContext>.(TSubject) -> Unit
): Unit

Intercepts an untyped pipeline when the subject is of the given type