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

Package io.ktor.client.request.forms

Types

FormBuilder

class FormBuilder

Form builder type used in formData builder function.

FormDataContent

class FormDataContent : ByteArrayContent

OutgoingContent with for application/x-www-form-urlencoded formatted request.

FormPart

data class FormPart<T : Any>

Multipart form item. Use it to build form in client.

InputProvider

class InputProvider

Reusable Input form entry.

MultiPartFormDataContent

class MultiPartFormDataContent : WriteChannelContent

OutgoingContent for multipart/form-data formatted request.

Functions

append

fun FormBuilder.append(key: String, headers: Headers = Headers.Empty, size: Long? = null, bodyBuilder: BytePacketBuilder.() -> Unit): Unit

Append a form part with the specified key using bodyBuilder for it's body.

fun FormBuilder.append(key: String, filename: String, contentType: ContentType? = null, size: Long? = null, bodyBuilder: BytePacketBuilder.() -> Unit): Unit

Append a form part with the specified key, filename and optional contentType using bodyBuilder for it's body.

formData

fun formData(vararg values: FormPart<*>): List<PartData>

Build multipart form from values.

fun formData(block: FormBuilder.() -> Unit): List<PartData>

Build multipart form using block function.

prepareForm

suspend fun HttpClient.prepareForm(formParameters: Parameters = Parameters.Empty, encodeInQuery: Boolean = false, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement
suspend fun HttpClient.prepareForm(url: String, formParameters: Parameters = Parameters.Empty, encodeInQuery: Boolean = false, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

Prepare formParameters request.

prepareFormWithBinaryData

suspend fun HttpClient.prepareFormWithBinaryData(formData: List<PartData>, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

Prepare HttpMethod.Post request with formData encoded in body. formData encoded using multipart/form-data format. https://tools.ietf.org/html/rfc2045

suspend fun HttpClient.prepareFormWithBinaryData(url: String, formData: List<PartData>, block: HttpRequestBuilder.() -> Unit = {}): HttpStatement

Prepare HttpMethod.Post request with formData encoded in body. url destination formData encoded using multipart/form-data format.

submitForm

suspend fun HttpClient.submitForm(formParameters: Parameters = Parameters.Empty, encodeInQuery: Boolean = false, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse
suspend fun HttpClient.submitForm(url: String, formParameters: Parameters = Parameters.Empty, encodeInQuery: Boolean = false, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

Submit formParameters request.

submitFormWithBinaryData

suspend fun HttpClient.submitFormWithBinaryData(formData: List<PartData>, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

Send HttpMethod.Post request with formData encoded in body. formData encoded using multipart/form-data format. https://tools.ietf.org/html/rfc2045

suspend fun HttpClient.submitFormWithBinaryData(url: String, formData: List<PartData>, block: HttpRequestBuilder.() -> Unit = {}): HttpResponse

Send HttpMethod.Post request with formData encoded in body. url destination formData encoded using multipart/form-data format.