Skip to content

客户端插件

许多应用程序需要超出应用程序逻辑范围的常见功能。这可能包括像日志序列化授权等。所有这些都在 Ktor 中通过我们称之为“插件”的方式提供。

添加插件依赖项

插件可能需要单独的依赖项例如Logging 插件要求在构建脚本中添加 ktor-client-logging artifact

Kotlin
Groovy
XML

你可以从所需插件的相关主题中了解所需的依赖项

安装插件

要安装插件,你需要将其传递给 客户端配置代码块内的 install 函数例如,安装 Logging 插件如下所示:

kotlin
import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.plugins.logging.*

val client = HttpClient(CIO) {
    install(Logging)
}

配置插件

你可以在 install 代码块内配置插件。例如,对于 Logging 插件,你可以指定日志记录器、日志级别以及过滤日志消息的条件:

kotlin
runBlocking {
    val client = HttpClient(CIO) {
        install(Logging) {
            logger = Logger.DEFAULT
            level = LogLevel.HEADERS
            filter { request ->
                request.url.host.contains("ktor.io")
            }
            sanitizeHeader { header -> header == HttpHeaders.Authorization }

创建自定义插件

要了解如何创建自定义插件,请参考 Custom client plugins