List of usage examples for org.apache.http.impl.client StandardHttpRequestRetryHandler StandardHttpRequestRetryHandler
public StandardHttpRequestRetryHandler(final int retryCount, final boolean requestSentRetryEnabled)
From source file:org.openrdf.http.client.SesameClientImpl.java
private HttpClient createHttpClient() { SystemDefaultHttpClient client = new SystemDefaultHttpClient(); client.setHttpRequestRetryHandler(new StandardHttpRequestRetryHandler(3, false)); return client; }
From source file:org.sonatype.nexus.internal.httpclient.DefaultsCustomizer.java
@Override public void customize(final HttpClientPlan plan) { checkNotNull(plan);/*from w ww. j a va 2 s . co m*/ plan.setUserAgentBase(userAgentGenerator.generate()); plan.getClient().setKeepAliveStrategy(new NexusConnectionKeepAliveStrategy(keepAliveDuration.toMillis())); plan.getClient().setRetryHandler(new StandardHttpRequestRetryHandler(2, false)); plan.getConnection().setBufferSize(bufferSize.toBytesI()); plan.getRequest().setConnectionRequestTimeout(connectionRequestTimeout.toMillisI()); plan.getRequest().setCookieSpec(CookieSpecs.IGNORE_COOKIES); plan.getRequest().setExpectContinueEnabled(false); int requestTimeoutMillis = requestTimeout.toMillisI(); plan.getSocket().setSoTimeout(requestTimeoutMillis); plan.getRequest().setConnectTimeout(requestTimeoutMillis); plan.getRequest().setSocketTimeout(requestTimeoutMillis); }
From source file:org.sonatype.nexus.proxy.storage.remote.httpclient.RemoteStorageContextCustomizer.java
@Override public void customize(final Builder builder) { // connection/socket timeouts int timeout = 1000; if (context.getRemoteConnectionSettings() != null) { timeout = context.getRemoteConnectionSettings().getConnectionTimeout(); }/*from w w w . j a v a 2 s . co m*/ builder.getSocketConfigBuilder().setSoTimeout(timeout); builder.getRequestConfigBuilder().setConnectTimeout(timeout); builder.getRequestConfigBuilder().setSocketTimeout(timeout); // obey the given retries count and apply it to client. int retries = context.getRemoteConnectionSettings() != null ? context.getRemoteConnectionSettings().getRetrievalRetryCount() : 0; builder.getHttpClientBuilder().setRetryHandler(new StandardHttpRequestRetryHandler(retries, false)); applyAuthenticationConfig(builder, context.getRemoteAuthenticationSettings(), null); applyProxyConfig(builder, context.getRemoteProxySettings()); // Apply optional context-specific user-agent suffix if (context.getRemoteConnectionSettings() != null) { String userAgentSuffix = context.getRemoteConnectionSettings().getUserAgentCustomizationString(); if (!StringUtils.isEmpty(userAgentSuffix)) { final String customizedUserAgent = builder.getUserAgent() + " " + userAgentSuffix; builder.setUserAgent(customizedUserAgent); builder.getHttpClientBuilder().setRequestExecutor(new HttpRequestExecutor() { @Override public void preProcess(final HttpRequest request, final HttpProcessor processor, final HttpContext ctx) throws HttpException, IOException { // NEXUS-7575: In case of HTTP Proxy tunnel, add generic UA while performing CONNECT if (!request.containsHeader(HTTP.USER_AGENT)) { request.addHeader(new BasicHeader(HTTP.USER_AGENT, customizedUserAgent)); } super.preProcess(request, processor, ctx); } }); } } }
From source file:com.okta.sdk.framework.ApiClient.java
/** * Constructor for the ApiClient./*from w w w . ja v a 2 s . c om*/ * * Bootstraps an HTTPClient to make various requests to the Okta API. * * @param config {@link ApiClientConfiguration} */ public ApiClient(ApiClientConfiguration config) { Proxy proxy = ProxySelector.getDefault().select(URI.create(config.getBaseUrl())).iterator().next(); HttpRoutePlanner routePlanner; if (Proxy.Type.HTTP.equals(proxy.type())) { URI proxyUri = URI.create(proxy.type() + "://" + proxy.address()); HttpHost proxyHost = new HttpHost(proxyUri.getHost(), proxyUri.getPort(), proxyUri.getScheme()); routePlanner = new DefaultProxyRoutePlanner(proxyHost); } else { routePlanner = new DefaultRoutePlanner(null); } StandardHttpRequestRetryHandler requestRetryHandler = new StandardHttpRequestRetryHandler(RETRY_COUNT, true); HttpClient client = HttpClientBuilder.create().setRetryHandler(requestRetryHandler) .setUserAgent("OktaSDKJava_v" + Utils.getSdkVersion()).disableCookieManagement() .setRoutePlanner(routePlanner).build(); this.httpClient = client; this.baseUrl = config.getBaseUrl(); this.apiVersion = config.getApiVersion(); this.configuration = config; this.token = config.getApiToken(); initMarshaller(); }
From source file:org.sonatype.nexus.repository.httpclient.HttpClientFactoryImpl.java
private void applyConfiguration(final Builder builder, final HttpClientConfig config) { // connection/socket timeouts int timeout = 1000; if (config.getConnection() != null && config.getConnection().getTimeout() != null) { timeout = config.getConnection().getTimeout(); }/* w w w . j ava 2s. com*/ builder.getSocketConfigBuilder().setSoTimeout(timeout); builder.getRequestConfigBuilder().setConnectTimeout(timeout); builder.getRequestConfigBuilder().setSocketTimeout(timeout); // obey the given retries count and apply it to client. int retries = 0; if (config.getConnection() != null && config.getConnection().getRetries() != null) { retries = config.getConnection().getRetries(); } builder.getHttpClientBuilder().setRetryHandler(new StandardHttpRequestRetryHandler(retries, false)); applyAuthenticationConfig(builder, config.getAuthentication(), null); applyProxyConfig(builder, config); // Apply optional context-specific user-agent suffix if (config.getConnection() != null) { String userAgentSuffix = config.getConnection().getUserAgentCustomisation(); String customizedUserAgent = null; if (!Strings.nullToEmpty(userAgentSuffix).isEmpty()) { customizedUserAgent = builder.getUserAgent() + " " + userAgentSuffix; builder.setUserAgent(customizedUserAgent); } String urlParameters = config.getConnection().getUrlParameters(); if (Strings.nullToEmpty(urlParameters).isEmpty()) { urlParameters = null; } applyRequestExecutor(builder, customizedUserAgent, urlParameters); } if (config.getConnection() != null && Boolean.TRUE.equals(config.getConnection().getUseTrustStore())) { builder.getHttpClientBuilder().addInterceptorFirst(new HttpRequestInterceptor() { @Override public void process(final HttpRequest request, final HttpContext context) { context.setAttribute(SSLContextSelector.USE_TRUST_STORE, Boolean.TRUE); } }); } }
From source file:org.sonatype.nexus.apachehttpclient.Hc4ProviderBase.java
protected Builder prepareHttpClient(final RemoteStorageContext context, final HttpClientConnectionManager httpClientConnectionManager) { final Builder builder = new Builder(); builder.getHttpClientBuilder().setConnectionManager(httpClientConnectionManager); builder.getHttpClientBuilder().addInterceptorFirst(new ResponseContentEncoding()); applyConfig(builder, context);/*from w ww.j ava 2s . c om*/ applyAuthenticationConfig(builder, context.getRemoteAuthenticationSettings(), null); applyProxyConfig(builder, context.getRemoteProxySettings()); // obey the given retries count and apply it to client. final int retries = context.getRemoteConnectionSettings() != null ? context.getRemoteConnectionSettings().getRetrievalRetryCount() : 0; builder.getHttpClientBuilder().setRetryHandler(new StandardHttpRequestRetryHandler(retries, false)); builder.getHttpClientBuilder() .setKeepAliveStrategy(new NexusConnectionKeepAliveStrategy(getKeepAliveMaxDuration())); return builder; }
From source file:org.jboss.as.test.integration.management.interfaces.HttpManagementInterface.java
private static HttpClient createHttpClient(String host, int port, String username, String password) { PoolingClientConnectionManager connectionPool = new PoolingClientConnectionManager(); DefaultHttpClient httpClient = new DefaultHttpClient(connectionPool); SchemeRegistry schemeRegistry = httpClient.getConnectionManager().getSchemeRegistry(); schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory())); try {/* ww w . ja v a2s .c o m*/ schemeRegistry.register(new Scheme("https", 443, new SSLSocketFactory(new TrustStrategy() { @Override public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException { return true; } }, new AllowAllHostnameVerifier()))); } catch (Exception e) { throw new RuntimeException(e); } httpClient.setHttpRequestRetryHandler(new StandardHttpRequestRetryHandler(5, true)); httpClient.getCredentialsProvider().setCredentials( new AuthScope(host, port, MANAGEMENT_REALM, AuthPolicy.DIGEST), new UsernamePasswordCredentials(username, password)); return httpClient; }
From source file:org.sonatype.nexus.httpclient.config.ConfigurationCustomizer.java
/** * Apply connection configuration to plan. *///from www.j av a2s.c om private void apply(final ConnectionConfiguration connection, final HttpClientPlan plan) { if (connection.getTimeout() != null) { int timeout = connection.getTimeout().toMillisI(); plan.getSocket().setSoTimeout(timeout); plan.getRequest().setConnectTimeout(timeout); plan.getRequest().setSocketTimeout(timeout); } if (connection.getMaximumRetries() != null) { plan.getClient() .setRetryHandler(new StandardHttpRequestRetryHandler(connection.getMaximumRetries(), false)); } if (connection.getUserAgentSuffix() != null) { checkState(plan.getUserAgentBase() != null, "Default User-Agent not set"); plan.setUserAgentSuffix(connection.getUserAgentSuffix()); } if (Boolean.TRUE.equals(connection.getUseTrustStore())) { plan.getAttributes().put(SSLContextSelector.USE_TRUST_STORE, Boolean.TRUE); } if (Boolean.TRUE.equals(connection.getEnableCircularRedirects())) { plan.getRequest().setCircularRedirectsAllowed(true); } if (Boolean.TRUE.equals(connection.getEnableCookies())) { plan.getRequest().setCookieSpec(CookieSpecs.DEFAULT); } }