This commit is contained in:
committed by
Spencer Gibb
parent
bc4f5a3788
commit
6c9fa68d5a
@@ -16,8 +16,9 @@
|
||||
|
||||
package org.springframework.cloud.netflix.ribbon.apache;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import com.netflix.client.config.CommonClientConfigKey;
|
||||
import com.netflix.client.config.IClientConfig;
|
||||
import com.netflix.loadbalancer.ILoadBalancer;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.config.RequestConfig;
|
||||
@@ -26,9 +27,7 @@ import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.springframework.cloud.netflix.ribbon.support.AbstractLoadBalancingClient;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
import com.netflix.client.config.CommonClientConfigKey;
|
||||
import com.netflix.client.config.IClientConfig;
|
||||
import com.netflix.loadbalancer.ILoadBalancer;
|
||||
import java.net.URI;
|
||||
|
||||
/**
|
||||
* @author Christian Lohmann
|
||||
@@ -53,14 +52,14 @@ public class RibbonLoadBalancingHttpClient
|
||||
if (configOverride != null) {
|
||||
builder.setConnectTimeout(configOverride.get(
|
||||
CommonClientConfigKey.ConnectTimeout, this.connectTimeout));
|
||||
builder.setConnectionRequestTimeout(configOverride.get(
|
||||
builder.setSocketTimeout(configOverride.get(
|
||||
CommonClientConfigKey.ReadTimeout, this.readTimeout));
|
||||
builder.setRedirectsEnabled(configOverride.get(
|
||||
CommonClientConfigKey.FollowRedirects, this.followRedirects));
|
||||
}
|
||||
else {
|
||||
builder.setConnectTimeout(this.connectTimeout);
|
||||
builder.setConnectionRequestTimeout(this.readTimeout);
|
||||
builder.setSocketTimeout(this.readTimeout);
|
||||
builder.setRedirectsEnabled(this.followRedirects);
|
||||
}
|
||||
|
||||
|
||||
@@ -66,6 +66,13 @@ public class RibbonLoadBalancingHttpClientTests {
|
||||
assertThat(result.isRedirectsEnabled(), is(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTimeouts() throws Exception {
|
||||
RequestConfig result = getBuiltRequestConfig(Timeouts.class, null);
|
||||
assertThat(result.getConnectTimeout(), is(60000));
|
||||
assertThat(result.getSocketTimeout(), is (50000));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRequestConfigDoNotFollowRedirectsOverrideWithFollowRedirects()
|
||||
throws Exception {
|
||||
@@ -117,6 +124,17 @@ public class RibbonLoadBalancingHttpClientTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
protected static class Timeouts {
|
||||
@Bean
|
||||
public IClientConfig clientConfig() {
|
||||
DefaultClientConfigImpl config = new DefaultClientConfigImpl();
|
||||
config.set(CommonClientConfigKey.ConnectTimeout, 60000);
|
||||
config.set(CommonClientConfigKey.ReadTimeout, 50000);
|
||||
return config;
|
||||
}
|
||||
}
|
||||
|
||||
private RequestConfig getBuiltRequestConfig(Class<?> defaultConfigurationClass,
|
||||
IClientConfig configOverride) throws Exception {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user