Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard

超速限制 中的部分常量信息。

Link copied to clipboard
class ApiResponseException(val response: HttpResponse, message: String? = null, cause: Throwable? = null) : KookException

当API请求得到失败响应得到此异常。

Link copied to clipboard
class ApiResult @ApiResultType constructor(val code: Int, val message: String, val data: JsonElement = EMPTY_OBJECT)

对 KOOK API 标准响应数据的封装。

Link copied to clipboard
class ApiResultException(val result: ApiResult, message: String? = null, cause: Throwable? = null) : KookException

当API请求的状态码成功,但是 ApiResult 表现结果为失败时。

Link copied to clipboard
annotation class ApiResultType

标记为一个作为 KOOK API 请求而返回的类型, 应由 KOOK API 请求结果进行反序列化实现而不可直接构造。

Link copied to clipboard
abstract class BaseKookApi<T : Any> : KookApi<T>

KookApi 的进一步抽象实现,简化针对 KookApi.url 的构造过程。

Link copied to clipboard
data class Gateway @ApiResultType constructor(val url: String)

通过 GetGatewayApi 得到的网关信息。

Link copied to clipboard
Link copied to clipboard
interface KookApi<T : Any> : ApiDefinition<T>

一个用于表示 KOOK API 封装的抽象类。

Link copied to clipboard

Kook Api的响应值标准格式。

Link copied to clipboard
abstract class KookGetApi<T : Any> : BaseKookApi<T>

使用 GET 进行请求的 KookApi 基础抽象。

Link copied to clipboard
abstract class KookPostApi<T : Any> : BaseKookApi<T>

使用 POST 进行请求的 KookApi 基础抽象。

Link copied to clipboard
class ListData<out T>(val items: List<T> = emptyList(), val meta: ListMeta, val sort: Map<String, Int> = emptyMap()) : ListDataResponse<T, Map<String, Int>> , Iterable<T>

ListData 将 sort 类型直接视为 Map 进行解析。

Link copied to clipboard
abstract class ListDataResponse<out T, SORT>

当响应体中的 data 为列表类型时,其有特殊的数据格式:

Link copied to clipboard
data class ListMeta(val page: Int, val pageTotal: Int, val pageSize: Int, val total: Int)

当返回值为列表时的分页响应元数据。

Link copied to clipboard
data class RateLimit(val limit: Long, val remaining: Long, val reset: Long, val bucket: String?, val isGlobalLimit: Boolean)

速率限制 请求头中的数据体。

Inherited properties

Functions

Link copied to clipboard

直接构建一个 HttpClient. 需要环境中存在可用的引擎。

构建一个 HttpClient.

直接构建一个 HttpClient.

Inherited functions

Link copied to clipboard
suspend fun KookApi<*>.request(client: HttpClient, authorization: String): HttpResponse

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult

Link copied to clipboard
fun KookApi<*>.requestAsync(client: HttpClient, authorization: String, scope: CoroutineScope? = null): CompletableFuture<HttpResponse>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult

Link copied to clipboard
@Api4J
fun KookApi<*>.requestBlocking(client: HttpClient, authorization: String): HttpResponse

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult

Link copied to clipboard
suspend fun <T : Any> KookApi<T>.requestData(client: HttpClient, authorization: String): T

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个具体结果。

Link copied to clipboard
fun <T : Any> KookApi<T>.requestDataAsync(client: HttpClient, authorization: String, scope: CoroutineScope? = null): CompletableFuture<T>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个具体结果。

Link copied to clipboard
@Api4J
fun <T : Any> KookApi<T>.requestDataBlocking(client: HttpClient, authorization: String): T

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个具体结果。

Link copied to clipboard
fun <T : Any> KookApi<T>.requestDataReserve(client: HttpClient, authorization: String, scope: CoroutineScope? = null): SuspendReserve<T>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个具体结果。

Link copied to clipboard
fun KookApi<*>.requestReserve(client: HttpClient, authorization: String, scope: CoroutineScope? = null): SuspendReserve<HttpResponse>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult

Link copied to clipboard
suspend fun KookApi<*>.requestResult(client: HttpClient, authorization: String): ApiResult

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult 结果。

Link copied to clipboard
fun KookApi<*>.requestResultAsync(client: HttpClient, authorization: String, scope: CoroutineScope? = null): CompletableFuture<ApiResult>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult 结果。

Link copied to clipboard
@Api4J
fun KookApi<*>.requestResultBlocking(client: HttpClient, authorization: String): ApiResult

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult 结果。

Link copied to clipboard
fun KookApi<*>.requestResultReserve(client: HttpClient, authorization: String, scope: CoroutineScope? = null): SuspendReserve<ApiResult>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个 ApiResult 结果。

Link copied to clipboard
suspend fun KookApi<*>.requestText(client: HttpClient, authorization: String): String

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个结果字符串。

Link copied to clipboard
fun KookApi<*>.requestTextAsync(client: HttpClient, authorization: String, scope: CoroutineScope? = null): CompletableFuture<String>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个结果字符串。

Link copied to clipboard
@Api4J
fun KookApi<*>.requestTextBlocking(client: HttpClient, authorization: String): String

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个结果字符串。

Link copied to clipboard
fun KookApi<*>.requestTextReserve(client: HttpClient, authorization: String, scope: CoroutineScope? = null): SuspendReserve<String>

通过一个 HttpClient 和校验信息 authorization 对当前API发起请求,并得到一个结果字符串。