ktor-client-core / io.ktor.client.request

Package io.ktor.client.request

Types

ClientUpgradeContent

abstract class ClientUpgradeContent : NoContent

DefaultHttpRequest

open class DefaultHttpRequest : HttpRequest

Default HttpRequest implementation.

HttpRequest

interface HttpRequest : HttpMessage, CoroutineScope

A request for HttpClient, first part of HttpClientCall.

HttpRequestBuilder

class HttpRequestBuilder : HttpMessageBuilder

Class for building HttpRequestData.

HttpRequestData

class HttpRequestData

Actual data of the HttpRequest, including url, method, headers, body and executionContext. Built by HttpRequestBuilder.

HttpRequestPipeline

class HttpRequestPipeline : Pipeline<Any, HttpRequestBuilder>

HttpClient Pipeline used for executing HttpRequest.

HttpResponseData

class HttpResponseData

Data prepared for HttpResponse.

HttpSendPipeline

class HttpSendPipeline : Pipeline<Any, HttpRequestBuilder>

HttpClient Pipeline used for sending HttpRequest to remote server.

ObservableBody

class ObservableBody

Properties

host

var HttpRequestBuilder.host: String

Gets the associated URL's host.

port

var HttpRequestBuilder.port: Int

Gets the associated URL's port.

Functions

accept

fun HttpRequestBuilder.accept(contentType: ContentType): Unit

Sets the Accept header with a specific contentType.

cookie

fun HttpRequestBuilder.cookie(name: String, value: String, maxAge: Int = 0, expires: GMTDate? = null, domain: String? = null, path: String? = null, secure: Boolean = false, httpOnly: Boolean = false, extensions: Map<String, String?> = emptyMap()): Unit

Sets a single header of key with a specific value if the value is not null.

delete

suspend fun <T> HttpClient.delete(builder: HttpRequestBuilder): T

Executes a HttpClient DELETE request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.delete(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient DELETE request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.delete(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient DELETE request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.delete(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient HEAD request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.delete(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient HEAD request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

get

suspend fun <T> HttpClient.get(builder: HttpRequestBuilder): T

Executes a HttpClient GET request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.get(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient GET request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.get(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T
suspend fun <T> HttpClient.get(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient GET request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.get(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient GET request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

head

suspend fun <T> HttpClient.head(builder: HttpRequestBuilder): T

Executes a HttpClient HEAD request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.head(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient HEAD request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.head(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T
suspend fun <T> HttpClient.head(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient HEAD request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.head(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient HEAD request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

header

fun HttpRequestBuilder.header(key: String, value: Any?): Unit

Sets a single header of key with a specific value if the value is not null.

headers

fun HttpRequestBuilder.headers(block: HeadersBuilder.() -> Unit): HeadersBuilder

Executes a block that configures the HeadersBuilder associated to this request.

isUpgradeRequest

fun HttpRequestData.isUpgradeRequest(): Boolean

observableBodyOf

fun <T : Any> observableBodyOf(body: T, listener: ProgressListener): ObservableBody

options

suspend fun <T> HttpClient.options(builder: HttpRequestBuilder): T

Executes a HttpClient OPTIONS request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.options(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient OPTIONS request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.options(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T
suspend fun <T> HttpClient.options(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient OPTIONS request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.options(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient OPTIONS request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

parameter

fun HttpRequestBuilder.parameter(key: String, value: Any?): Unit

Sets a single URL query parameter of key with a specific value if the value is not null. Can not be used to set form parameters in the body.

patch

suspend fun <T> HttpClient.patch(builder: HttpRequestBuilder): T

Executes a HttpClient PATCH request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.patch(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient PATCH request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.patch(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T
suspend fun <T> HttpClient.patch(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient PATCH request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.patch(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient PATCH request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

post

suspend fun <T> HttpClient.post(builder: HttpRequestBuilder): T

Executes a HttpClient POST request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.post(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient POST request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.post(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T
suspend fun <T> HttpClient.post(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient POST request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.post(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient POST request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

put

suspend fun <T> HttpClient.put(builder: HttpRequestBuilder): T

Executes a HttpClient PUT request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.put(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", body: Any = EmptyContent, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient PUT request, with the specified scheme, host, port, path and body. And allows to further configure the request, using a block receiving an HttpRequestBuilder.

suspend fun <T> HttpClient.put(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T
suspend fun <T> HttpClient.put(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient PUT request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

suspend fun <T> HttpClient.put(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient PUT request, with the specified url as Url and an optional block receiving an HttpRequestBuilder for further configuring the request.

request

suspend fun <T> HttpClient.request(builder: HttpRequestBuilder = HttpRequestBuilder()): T

Executes a HttpClient request, with the information from the builder and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.request(block: HttpRequestBuilder.() -> Unit): T

Executes a HttpClient request, with the information configured in builder block and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.request(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient request, with the urlString and the information configured in builder block and tries to receive a specific type T, if fails, an exception is thrown.

suspend fun <T> HttpClient.request(url: Url, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient request, with the url and the information configured in builder block and tries to receive a specific type T, if fails, an exception is thrown.

fun request(block: HttpRequestBuilder.() -> Unit): HttpRequestBuilder

Creates a HttpRequestBuilder and configures it with a block of code.

suspend fun <T> HttpClient.request(url: URL, block: HttpRequestBuilder.() -> Unit = {}): T

Executes a HttpClient request, with the specified url as URL and an optional block receiving an HttpRequestBuilder for further configuring the request.

takeFrom

fun HttpRequestBuilder.takeFrom(request: HttpRequest): HttpRequestBuilder

Mutates this copying all the data from another request using it as base.

fun HttpRequestBuilder.takeFrom(request: HttpRequestData): HttpRequestBuilder

Sets the HttpRequestBuilder from request.

url

fun HttpRequestBuilder.url(block: URLBuilder.() -> Unit): Unit

Executes a block that configures the URLBuilder associated to this request.

fun HttpRequestBuilder.url(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", block: URLBuilder.() -> Unit = {}): Unit

Sets the url using the specified scheme, host, port and path.

fun HttpRequestBuilder.url(urlString: String): Unit

Sets the HttpRequestBuilder.url from urlString.

fun HttpRequestBuilder.url(url: Url): Unit
fun HttpRequestBuilder.url(url: URL): URLBuilder

Sets the HttpRequestBuilder.url from url.

Companion Object Functions

invoke

operator fun HttpRequestBuilder.Companion.invoke(block: URLBuilder.() -> Unit): HttpRequestBuilder

Executes a block that configures the URLBuilder associated to thisrequest.

operator fun HttpRequestBuilder.Companion.invoke(scheme: String = "http", host: String = "localhost", port: Int = DEFAULT_PORT, path: String = "/", block: URLBuilder.() -> Unit = {}): HttpRequestBuilder

Constructs a HttpRequestBuilder from URL information: scheme, host, port and path and optionally further configures it using block.

operator fun HttpRequestBuilder.Companion.invoke(url: URL): HttpRequestBuilder

Constructs a HttpRequestBuilder from url.