Skip to content

客戶端插件

許多應用程式需要超出其應用邏輯範圍的共同功能。這可能是像日誌記錄序列化授權等。所有這些都在 Ktor 中透過我們稱之為 Plugins 的方式提供。

添加插件依賴

一個插件可能需要單獨的依賴。例如,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 }

創建自定義插件

要了解如何創建自定義插件,請參閱自定義客戶端插件