Я пытаюсь настроить WebClient с прокси следующим образом (kotlin):
private fun WebClient.Builder.securedHttpConnector(
host: String,
port: Int,
sslContextBuilder: SslContextBuilder
) =
apply {
clientConnector(
ReactorClientHttpConnector(
HttpClient
.create()
.secure { sslContextSpec -> sslContextSpec.sslContext(sslContextBuilder) }
.tcpConfiguration { tcpClient ->
tcpClient.proxy {
it
.type(ProxyProvider.Proxy.HTTP)
.address(InetSocketAddress(host, port))
}
}
)
)
}
Но тайм-аут по умолчанию в ProxyHandler.java составляет 10000 миллис. Как я могу это изменить? Партнерская система дает ответ в течение длительного времени, более 10 с, и я получаю следующее исключение:
io.netty.handler.proxy.ProxyConnectException: http, none, /<proxy host>:<proxy port> => /<target host>:<target port>, timeout
at io.netty.handler.proxy.ProxyHandler$2.run(ProxyHandler.java:201) ~[netty-handler-proxy-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:127) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:405) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.36.Final.jar:4.1.36.Final]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_212]