Question : WebClient timeout
Answered by : tense-tarsier-3hv7tiqe6y48
private class WebClient : System.Net.WebClient { public int Timeout { get; set; } protected override WebRequest GetWebRequest(Uri uri) { WebRequest lWebRequest = base.GetWebRequest(uri); lWebRequest.Timeout = Timeout; ((HttpWebRequest)lWebRequest).ReadWriteTimeout = Timeout; return lWebRequest; } } private string GetRequest(string aURL) { using (var lWebClient = new WebClient()) { lWebClient.Timeout = 600 * 60 * 1000; return lWebClient.DownloadString(aURL); } }
Source : https://stackoverflow.com/questions/1789627/how-to-change-the-timeout-on-a-net-webclient-object | Last Update : Sun, 07 Jun 20
Question : webclient timeout
Answered by : marcello
@Configuration
@EnableWebFlux
public class WebFluxConfig implements WebFluxConfigurer
{
Logger logger = LoggerFactory.getLogger(WebFluxConfig.class);
@Bean
public WebClient getWebClient()
{
HttpClient httpClient = HttpClient.create()
.tcpConfiguration(client -> // Here there are global timeout
client.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10000)
.doOnConnected(conn -> conn
.addHandlerLast(new ReadTimeoutHandler(10))
.addHandlerLast(new WriteTimeoutHandler(10))));
ClientHttpConnector connector = new ReactorClientHttpConnector(httpClient.wiretap(true));
return WebClient.builder()
.baseUrl("http://localhost:3000")
.clientConnector(connector)
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.build();
}
}
Source : https://howtodoinjava.com/spring-webflux/webclient-set-timeouts/ | Last Update : Thu, 03 Mar 22