BearerRestClient

class BearerRestClient(json: Json, baseUrl: String = "", client: HttpClient = HttpClientFactory.create(json = json), mapError: context(Raise<RestClientErrorSpec>) suspend HttpResponse.() -> RestClientErrorSpec) : AbstractRestClient(source)

Constructors

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

Properties

Link copied to clipboard

The base URL used to construct full request URIs.

Link copied to clipboard
val client: HttpClient

The HttpClient responsible for executing HTTP requests.

Link copied to clipboard
val json: Json

The instance of Json for JSON serialization and deserialization.

Link copied to clipboard
val mapError: context(Raise<RestClientErrorSpec>) suspend HttpResponse.() -> RestClientErrorSpec

A function transforming an HttpResponse into a RestClientErrorSpec

Functions

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