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.

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 HttpClient.delete(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient DELETE request, with the information from the builder

suspend fun HttpClient.delete(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient DELETE request, with the information from the builder

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

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 HttpClient.delete(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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 HttpClient.delete(url: URL, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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 HttpClient.get(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient GET request, with the information from the builder

suspend fun HttpClient.get(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient GET request, with the information from the builder

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

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 HttpClient.get(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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 HttpClient.head(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient HEAD request, with the information from the builder

suspend fun HttpClient.head(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient HEAD request, with the information from the builder

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

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 HttpClient.head(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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

options

suspend fun HttpClient.options(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient OPTIONS request, with the information from the builder

suspend fun HttpClient.options(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient OPTIONS request, with the information from the builder

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

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 HttpClient.options(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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 HttpClient.patch(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient PATCH request, with the information from the builder

suspend fun HttpClient.patch(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient PATCH request, with the information from the builder

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

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 HttpClient.patch(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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 HttpClient.post(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient POST request, with the information from the builder

suspend fun HttpClient.post(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient POST request, with the information from the builder

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

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 HttpClient.post(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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

prepareDelete

suspend fun HttpClient.prepareDelete(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient DELETE request, with the information from the builder

suspend fun HttpClient.prepareDelete(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient DELETE request, with the information from the builder

suspend fun HttpClient.prepareDelete(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

suspend fun HttpClient.prepareDelete(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

suspend fun HttpClient.prepareDelete(url: URL, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

prepareGet

suspend fun HttpClient.prepareGet(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient GET request, with the information from the builder

suspend fun HttpClient.prepareGet(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient GET request, with the information from the builder

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

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

suspend fun HttpClient.prepareGet(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

prepareHead

suspend fun HttpClient.prepareHead(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient HEAD request, with the information from the builder

suspend fun HttpClient.prepareHead(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient HEAD request, with the information from the builder

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

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

suspend fun HttpClient.prepareHead(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

prepareOptions

suspend fun HttpClient.prepareOptions(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient OPTIONS request, with the information from the builder

suspend fun HttpClient.prepareOptions(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient OPTIONS request, with the information from the builder

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

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

suspend fun HttpClient.prepareOptions(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

preparePatch

suspend fun HttpClient.preparePatch(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient PATCH request, with the information from the builder

suspend fun HttpClient.preparePatch(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient PATCH request, with the information from the builder

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

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

suspend fun HttpClient.preparePatch(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

preparePost

suspend fun HttpClient.preparePost(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient POST request, with the information from the builder

suspend fun HttpClient.preparePost(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient POST request, with the information from the builder

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

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

suspend fun HttpClient.preparePost(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

preparePut

suspend fun HttpClient.preparePut(builder: HttpRequestBuilder): HttpStatement

Prepares a HttpClient PUT request, with the information from the builder

suspend fun HttpClient.preparePut(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient PUT request, with the information from the builder

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

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

suspend fun HttpClient.preparePut(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

prepareRequest

suspend fun HttpClient.prepareRequest(builder: HttpRequestBuilder = HttpRequestBuilder()): HttpStatement

Prepares a HttpClient request, with the information from the builder

suspend fun HttpClient.prepareRequest(block: HttpRequestBuilder.() -> Unit): HttpStatement

Prepares a HttpClient request, with the information configured in builder block

suspend fun HttpClient.prepareRequest(urlString: String, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

Prepares a HttpClient request, with the urlString and the information configured in builder block

suspend fun HttpClient.prepareRequest(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

Prepares a HttpClient request, with the url and the information configured in builder block

suspend fun HttpClient.prepareRequest(url: URL, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

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

put

suspend fun HttpClient.put(builder: HttpRequestBuilder): HttpResponse

Executes a HttpClient PUT request, with the information from the builder

suspend fun HttpClient.put(block: HttpRequestBuilder.() -> Unit): HttpResponse

Executes a HttpClient PUT request, with the information from the builder

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

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 HttpClient.put(url: Url, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

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 HttpClient.request(builder: HttpRequestBuilder = HttpRequestBuilder()): HttpResponse

Executes a HttpClient request, with the information from the builder

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

Executes a HttpClient request, with the information configured in builder block

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

Executes a HttpClient request, with the urlString and the information configured in builder block

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

Executes a HttpClient request, with the url and the information configured in builder block

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

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

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

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

setBody

fun <T> HttpRequestBuilder.setBody(body: T): Unit

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.