request

suspend fun OneBotApi<*>.request(client: HttpClient, host: Url, accessToken: String? = null, actionSuffixes: Collection<String>? = null): HttpResponse(source)

this 发起一次请求,并得到相应的 HttpResponse 响应。

Body

当请求的 OneBotApi.body 不为 null 时,会做如下处理:

  • 如果它是 OutgoingContent 类型或者字符串类型,直接使用。

  • 如果提供的 client 中安装了 ContentNegotiation 插件,则直接使用。

  • 否则,尝试使用 guessSerializer 获取到它的序列化器,然后使用 OneBot11.DefaultJson 将其序列化为JSON字符串后赋值。这过程中如果出现异常,则会放弃,并最终尝试直接使用 OneBotApi.body

  • 上述一切均不符,则最终会抛出异常。

Parameters

client

用于请求的 HttpClient.

host

用于请求的路径前缀。最终发起请求的完整地址为 host + OneBotApi.action + actionSuffixes.

accessToken

参考 鉴权 中涉及到 access token 请求头的内容 (Authorization)。 如果不为 null,会追加前缀 Bearer 并添加到请求头 Authorization 中。

actionSuffixes

会被拼接到 OneBotApi.action 的行为后缀,可参考 OneBotApi.Actions.


suspend fun OneBotApi<*>.request(client: HttpClient, host: String, accessToken: String? = null, actionSuffixes: Collection<String>? = null): HttpResponse(source)

this 发起一次请求,并得到相应的 HttpResponse 响应。

Body

当请求的 OneBotApi.body 不为 null 时,会做如下处理:

  • 如果它是 OutgoingContent 类型或者字符串类型,直接使用。

  • 如果提供的 client 中安装了 ContentNegotiation 插件,则直接使用。

  • 否则,尝试使用 guessSerializer 获取到它的序列化器,然后使用 OneBot11.DefaultJson 将其序列化为JSON字符串后赋值。这过程中如果出现异常,则会放弃,并最终尝试直接使用 OneBotApi.body

  • 上述一切均不符,则最终会抛出异常。

Parameters

client

用于请求的 HttpClient.

host

用于请求的路径前缀。最终发起请求的完整地址为 host + OneBotApi.action + actionSuffixes.

actionSuffixes

会被拼接到 OneBotApi.action 的行为后缀,可参考 OneBotApi.Actions.