У меня есть следующий класс в Kotlin, чтобы установить QueryParam для HttpUrl:
import okhttp3.Interceptor
import okhttp3.Response
import java.io.IOException
class RequestInterceptor : Interceptor {
@Throws(IOException::class)
override fun intercept(chain: Interceptor.Chain): Response {
val original = chain.request()
val originalHttpUrl = original.url()
val url = originalHttpUrl.newBuilder()
.addQueryParameter("api_key", "")
.build()
val request = original.newBuilder().url(url).build()
return chain.proceed(request)
}
}
И его нужно инициализировать следующим образом:
val logger = RequestInterceptor()
С другой стороны, у меня есть следующий код для установки уровня регистрации для перехватчика:
val logger = HttpLoggingInterceptor(HttpLoggingInterceptor.Logger {
Log.d("API", it)
})
logger.level = HttpLoggingInterceptor.Level.BASIC
В конце я хочу установить Interceptor в качестве клиента для OkHttpClient:
val client = OkHttpClient.Builder()
.addInterceptor(logger)
.build()
Проблема заключается в следующем: как одновременно определить и класс, и уровень журнала addInterceptor(logger)
?