Example usage for org.apache.http.impl.client StandardHttpRequestRetryHandler StandardHttpRequestRetryHandler

List of usage examples for org.apache.http.impl.client StandardHttpRequestRetryHandler StandardHttpRequestRetryHandler

Introduction

In this page you can find the example usage for org.apache.http.impl.client StandardHttpRequestRetryHandler StandardHttpRequestRetryHandler.

Prototype

public StandardHttpRequestRetryHandler(final int retryCount, final boolean requestSentRetryEnabled) 

Source Link

Document

Default constructor

Usage

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);
    }
}