未解决的参考:ktor 中的 responsePipeline
Unresolved reference: responsePipeline in ktor
嘿,我在 ktor 工作。我正在关注这个 。我想在我的 androidMain 上使用 responsePipeline。但是我收到错误 Unresolved reference: responsePipeline
。实际上我在 androidMain 中用 OkHttp 创建了 HttpClient。我不知道为什么我不能在我的文件中使用。有人可以指导我吗?
androidMain
actual fun httpClient(config: HttpClientConfig<*>.() -> Unit) = HttpClient(OkHttp) {
responsePipeline.intercept(HttpResponsePipeline.Transform) {
}
config(this)
install(Logging) {
logger = Logger.SIMPLE
level = LogLevel.BODY
}
}
commonMain
expect fun httpClient(config: HttpClientConfig<*>.() -> Unit = {}): HttpClient
错误
responsePipeline
是 HttpClient
class 的 属性,而您正试图在 HttpClientConfig
.[=21= 的实例上访问它]
HttpClient(OkHttp)
的 Lamda returns 类型 HttpClientConfig
的对象没有名为 reponsePipeline
的 属性。
要使用 responsePipeline
你必须创建一个 HttpClient
的实例,然后你就可以使用它了。
您可以创建一个方法,returns 您配置的 httpClient
fun createHttpClient(config: HttpClientConfig<*>.() -> Unit): HttpClient {
val httpClient = HttpClient(OkHttp) {
config(this)
install(Logging) {
logger = Logger.SIMPLE
level = LogLevel.BODY
}
}
httpClient.responsePipeline.intercept(HttpResponsePipeline.Transform) {
}
return httpClient
}
将其分配给实际定义。
actual fun httpClient(config: HttpClientConfig<*>.() -> Unit) = createHttpClient(config)
嘿,我在 ktor 工作。我正在关注这个 Unresolved reference: responsePipeline
。实际上我在 androidMain 中用 OkHttp 创建了 HttpClient。我不知道为什么我不能在我的文件中使用。有人可以指导我吗?
androidMain
actual fun httpClient(config: HttpClientConfig<*>.() -> Unit) = HttpClient(OkHttp) {
responsePipeline.intercept(HttpResponsePipeline.Transform) {
}
config(this)
install(Logging) {
logger = Logger.SIMPLE
level = LogLevel.BODY
}
}
commonMain
expect fun httpClient(config: HttpClientConfig<*>.() -> Unit = {}): HttpClient
错误
responsePipeline
是 HttpClient
class 的 属性,而您正试图在 HttpClientConfig
.[=21= 的实例上访问它]
HttpClient(OkHttp)
的 Lamda returns 类型 HttpClientConfig
的对象没有名为 reponsePipeline
的 属性。
要使用 responsePipeline
你必须创建一个 HttpClient
的实例,然后你就可以使用它了。
您可以创建一个方法,returns 您配置的 httpClient
fun createHttpClient(config: HttpClientConfig<*>.() -> Unit): HttpClient {
val httpClient = HttpClient(OkHttp) {
config(this)
install(Logging) {
logger = Logger.SIMPLE
level = LogLevel.BODY
}
}
httpClient.responsePipeline.intercept(HttpResponsePipeline.Transform) {
}
return httpClient
}
将其分配给实际定义。
actual fun httpClient(config: HttpClientConfig<*>.() -> Unit) = createHttpClient(config)