Skip to content

Commit

Permalink
#1431 - Included http timeout settings in client factory
Browse files Browse the repository at this point in the history
Signed-off-by: Steve Springett <steve@springett.us>
  • Loading branch information
stevespringett committed Mar 2, 2022
1 parent bf67a6c commit d3d4187
Showing 1 changed file with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.AuthSchemes;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.config.Lookup;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
Expand Down Expand Up @@ -76,6 +77,9 @@ public final class ManagedHttpClientFactory {
private static final String PROXY_USERNAME = Config.getInstance().getProperty(Config.AlpineKey.HTTP_PROXY_USERNAME);
private static final String PROXY_PASSWORD = Config.getInstance().getPropertyOrFile(Config.AlpineKey.HTTP_PROXY_PASSWORD);
private static final String NO_PROXY = Config.getInstance().getProperty(Config.AlpineKey.NO_PROXY);
private static final int TIMEOUT_CONNECTION = Config.getInstance().getPropertyAsInt(Config.AlpineKey.HTTP_TIMEOUT_CONNECTION);
private static final int TIMEOUT_POOL = Config.getInstance().getPropertyAsInt(Config.AlpineKey.HTTP_TIMEOUT_POOL);
private static final int TIMEOUT_SOCKET = Config.getInstance().getPropertyAsInt(Config.AlpineKey.HTTP_TIMEOUT_SOCKET);
private static final Logger LOGGER = Logger.getLogger(ManagedHttpClientFactory.class);
private static final String USER_AGENT;
static {
Expand Down Expand Up @@ -104,7 +108,12 @@ public static String getUserAgent() {
*/
public static ManagedHttpClient newManagedHttpClient() {
PoolingHttpClientConnectionManager connectionManager = null;
final HttpClientBuilder clientBuilder = HttpClientBuilder.create();
final RequestConfig config = RequestConfig.custom()
.setConnectTimeout(TIMEOUT_CONNECTION * 1000)
.setConnectionRequestTimeout(TIMEOUT_POOL * 1000)
.setSocketTimeout(TIMEOUT_SOCKET * 1000)
.build();
final HttpClientBuilder clientBuilder = HttpClientBuilder.create().setDefaultRequestConfig(config);
final CredentialsProvider credsProvider = new BasicCredentialsProvider();
clientBuilder.useSystemProperties();

Expand Down

0 comments on commit d3d4187

Please sign in to comment.