post

inline suspend fun <B> HttpFetcher.post(resource: String, body: B, headers: Map<String, Any>? = FetchDefaults.Headers, redirect: RequestRedirect? = FetchDefaults.Redirect, abortController: AbortController? = null, bodySerializer: SerializationStrategy<B> = serializer()): Response(source)

A version of post that accepts a serializable body.

Use bodyAs on the returned Response if you want to deserialize returned bytes, e.g. post<RequestClass>(/*...*/).bodyAs<ReplyClass>().


inline suspend fun <B, R> HttpFetcher.post(resource: String, body: B, headers: Map<String, Any>? = FetchDefaults.Headers, redirect: RequestRedirect? = FetchDefaults.Redirect, abortController: AbortController? = null, bodySerializer: SerializationStrategy<B> = serializer(), responseDeserializer: DeserializationStrategy<R> = serializer()): R(source)

Deprecated

With these serialization-aware network methods, we are moving response deserialization handling to a separate `bodyAs` call. This lets us accomplish the same amount of functionality with fewer methods.

Replace with

import com.varabyte.kobweb.browser.http.post
import com.varabyte.kobweb.browser.http.FetchDefaults
import com.varabyte.kobweb.browser.http.bodyAs
import kotlinx.serialization.serializer
post(resource, body, headers, redirect, abortController, bodySerializer).bodyAs(responseDeserializer)

Call POST on a target resource with R as the expected return type.

You can set R to Unit if this request doesn't expect a response body.

See also tryPost, which will return null if the request fails.


inline suspend fun <R> HttpFetcher.post(resource: String, headers: Map<String, Any>? = FetchDefaults.Headers, redirect: RequestRedirect? = FetchDefaults.Redirect, abortController: AbortController? = null, responseDeserializer: DeserializationStrategy<R> = serializer()): R(source)

Deprecated

With these serialization-aware network methods, we are moving response deserialization handling to a separate `bodyAs` call. This lets us accomplish the same amount of functionality with fewer methods.

Replace with

import com.varabyte.kobweb.browser.http.post
import com.varabyte.kobweb.browser.http.FetchDefaults
import com.varabyte.kobweb.browser.http.bodyAs
import kotlinx.serialization.serializer
post(resource, body = null, headers, redirect, abortController, bodySerializer).bodyAs(responseDeserializer)

A serialize-friendly version of post that has no body but provides a serialized response.