ktor-client-core / io.ktor.client.statement

Package io.ktor.client.statement

Types

DefaultHttpResponse

class DefaultHttpResponse : HttpResponse

HttpReceivePipeline

class HttpReceivePipeline : Pipeline<HttpResponse, HttpClientCall>

HttpClient Pipeline used for receiving HttpResponse without any processing.

HttpResponse

abstract class HttpResponse : HttpMessage, CoroutineScope

A response for HttpClient, second part of HttpClientCall.

HttpResponseContainer

data class HttpResponseContainer

Class representing a typed response with an attached expectedType.

HttpResponsePipeline

class HttpResponsePipeline : Pipeline<HttpResponseContainer, HttpClientCall>

HttpClient Pipeline used for executing HttpResponse.

HttpStatement

class HttpStatement

Prepared statement for http client request. This statement doesn't perform any network requests until execute method call.

Properties

request

val HttpResponse.request: HttpRequest

HttpRequest associated with this response.

Functions

bodyAsChannel

suspend fun HttpResponse.bodyAsChannel(): ByteReadChannel

Read the HttpResponse.content as a ByteReadChannel.

bodyAsText

suspend fun HttpResponse.bodyAsText(fallbackCharset: <ERROR CLASS> = Charsets.UTF_8): String

Read the HttpResponse.content as a String. You can pass an optional charset to specify a charset in the case no one is specified as part of the Content-Type response. If no charset specified either as parameter or as part of the response, io.ktor.client.features.HttpPlainText settings will be used.

discardRemaining

suspend fun HttpResponse.discardRemaining(): Unit

Efficiently discards the remaining bytes of HttpResponse.content.

readBytes

suspend fun HttpResponse.readBytes(count: Int): ByteArray

Exactly reads count bytes of the HttpResponse.content.

suspend fun HttpResponse.readBytes(): ByteArray

Reads the whole HttpResponse.content if Content-Length was specified. Otherwise it just reads one byte.

readText

suspend fun HttpResponse.readText(fallbackCharset: <ERROR CLASS>? = null): String

Read the HttpResponse.content as a String. You can pass an optional charset to specify a charset in the case no one is specified as part of the Content-Type response. If no charset specified either as parameter or as part of the response, io.ktor.client.features.HttpPlainText settings will be used.

receive

suspend fun <T> HttpStatement.receive(): T

Executes this statement and run HttpClient.responsePipeline with the response and expected type T.

suspend fun <T, R> HttpStatement.receive(block: suspend (response: T) -> R): R

Executes this statement and run the block with a HttpClient.responsePipeline execution result.