TypedRestClient

class TypedRestClient<E : ErrorSpec>(json: Json, baseUrl: String = "", client: HttpClient = HttpClientFactory.create(json = json), mapError: context(Raise<RestClientErrorSpec>) suspend HttpResponse.() -> RestClientErrorSpec, val transform: (RestClientErrorSpec) -> E)(source)

Constructors

Link copied to clipboard
constructor(json: Json, baseUrl: String = "", client: HttpClient = HttpClientFactory.create(json = json), mapError: context(Raise<RestClientErrorSpec>) suspend HttpResponse.() -> RestClientErrorSpec, transform: (RestClientErrorSpec) -> E)

Properties

Link copied to clipboard

Functions

Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T> delete(uri: String, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T> get(uri: String, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T> head(uri: String, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T> options(uri: String, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T, B> patch(uri: String, body: B? = null, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T, B> post(uri: String, body: B, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T> postMultipart(uri: String, data: ByteArray, fileName: String = "file", contentType: ContentType = ContentType.Application.OctetStream, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T
Link copied to clipboard
context(r: Raise<E>)
inline suspend fun <T, B> put(uri: String, body: B? = null, crossinline builder: HttpRequestBuilder.() -> Unit = {}): T