Skip to content

クライアントプラグイン

多くのアプリケーションでは、アプリケーションロジックの範囲外となる共通機能が必要です。これには、ロギングシリアライゼーション認証などが挙げられます。これらの機能はすべて、Ktorではプラグインと呼ばれる仕組みによって提供されます。

プラグインの依存関係を追加する

プラグインには個別の依存関係が必要な場合があります。例えば、ロギングプラグインでは、ビルドスクリプトにktor-client-loggingアーティファクトの追加が必要です。

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ブロック内でプラグインを設定できます。例えば、ロギングプラグインの場合、ロガー、ロギングレベル、ログメッセージをフィルタリングする条件を指定できます。

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 }

カスタムプラグインを作成する

カスタムプラグインの作成方法については、カスタムクライアントプラグインを参照してください。