Example usage for org.apache.http.client.config RequestConfig custom

List of usage examples for org.apache.http.client.config RequestConfig custom

Introduction

In this page you can find the example usage for org.apache.http.client.config RequestConfig custom.

Prototype

public static RequestConfig.Builder custom() 

Source Link

Usage

From source file:org.mule.modules.apifortress.ApiFortressClient.java

/**
 * Constructor//w  ww . j  av a  2 s. c  o m
 * @param config the connector config. Won't be referenced
 */
public ApiFortressClient(Config config) {
    super();

    connectionManager = new PoolingHttpClientConnectionManager();
    connectionManager.setMaxTotal(config.getTotalConnections());

    final RequestConfig requestConfig = RequestConfig.custom()
            .setConnectTimeout(config.getConnectTimeout() * 1000)
            .setSocketTimeout(config.getSocketTimeout() * 1000).build();
    client = HttpClients.custom().setConnectionManager(connectionManager).setDefaultRequestConfig(requestConfig)
            .build();
    silent = config.isSilent();
    dryRun = config.isDryRun();
    threshold = config.getThreshold();

}

From source file:org.scassandra.http.client.ActivityClient.java

private ActivityClient(String host, int port, int socketTimeout) {
    RequestConfig.Builder requestBuilder = RequestConfig.custom();
    requestBuilder = requestBuilder.setConnectTimeout(socketTimeout);
    requestBuilder = requestBuilder.setConnectionRequestTimeout(socketTimeout);
    requestBuilder = requestBuilder.setSocketTimeout(socketTimeout);
    HttpClientBuilder builder = HttpClientBuilder.create();
    builder.setDefaultRequestConfig(requestBuilder.build());
    httpClient = builder.build();//from   w w w.j ava  2s  . c  o m
    this.connectionUrl = "http://" + host + ":" + port + "/connection";
    this.queryUrl = "http://" + host + ":" + port + "/query";
    this.preparedStatementExecutionUrl = "http://" + host + ":" + port + "/prepared-statement-execution";
    this.batchUrl = "http://" + host + ":" + port + "/batch-execution";
    this.preparedStatementPreparationUrl = "http://" + host + ":" + port + "/prepared-statement-preparation";
}

From source file:com.netflix.spinnaker.orca.pipeline.util.HttpClientUtils.java

private static CloseableHttpClient httpClientWithServiceUnavailableRetryStrategy() {
    HttpClientBuilder httpClientBuilder = HttpClients.custom()
            .setServiceUnavailableRetryStrategy(new ServiceUnavailableRetryStrategy() {
                @Override/*from  w  w  w .  j  av  a 2 s  . c om*/
                public boolean retryRequest(HttpResponse response, int executionCount, HttpContext context) {
                    int statusCode = response.getStatusLine().getStatusCode();
                    HttpUriRequest currentReq = (HttpUriRequest) context
                            .getAttribute(HttpCoreContext.HTTP_REQUEST);
                    LOGGER.info("Response code {} for {}", statusCode, currentReq.getURI());

                    if (statusCode >= HttpStatus.SC_OK && statusCode <= 299) {
                        return false;
                    }

                    boolean shouldRetry = (statusCode == 429
                            || RETRYABLE_500_HTTP_STATUS_CODES.contains(statusCode))
                            && executionCount <= MAX_RETRIES;
                    if (!shouldRetry) {
                        throw new RetryRequestException(String.format("Not retrying %s. Count %d, Max %d",
                                currentReq.getURI(), executionCount, MAX_RETRIES));
                    }

                    LOGGER.error("Retrying request on response status {}. Count {} Max is {}", statusCode,
                            executionCount, MAX_RETRIES);
                    return true;
                }

                @Override
                public long getRetryInterval() {
                    return RETRY_INTERVAL;
                }
            });

    httpClientBuilder.setRetryHandler((exception, executionCount, context) -> {
        HttpUriRequest currentReq = (HttpUriRequest) context.getAttribute(HttpCoreContext.HTTP_REQUEST);
        Uninterruptibles.sleepUninterruptibly(RETRY_INTERVAL, TimeUnit.MILLISECONDS);
        LOGGER.info("Encountered network error. Retrying request {},  Count {} Max is {}", currentReq.getURI(),
                executionCount, MAX_RETRIES);
        return executionCount <= MAX_RETRIES;
    });

    httpClientBuilder.setDefaultRequestConfig(RequestConfig.custom().setConnectionRequestTimeout(TIMEOUT_MILLIS)
            .setConnectTimeout(TIMEOUT_MILLIS).setSocketTimeout(TIMEOUT_MILLIS).build());

    return httpClientBuilder.build();
}

From source file:org.sonar.runner.Main.java

Main(Exit exit, Cli cli, Conf conf, RunnerFactory runnerFactory) {
    this.exit = exit;
    this.cli = cli;
    this.conf = conf;
    this.runnerFactory = runnerFactory;

    // apache http client setup
    this.httpCookieStore = new BasicCookieStore();
    this.globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.BROWSER_COMPATIBILITY).build();
    this.httpClientContext = HttpClientContext.create();
    this.httpClientContext.setCookieStore(httpCookieStore);
    this.httpClientBuilder = HttpClientBuilder.create().setDefaultRequestConfig(globalConfig)
            .setDefaultCookieStore(httpCookieStore);
}

From source file:io.seldon.external.ExternalItemRecommendationAlgorithm.java

@Autowired
public ExternalItemRecommendationAlgorithm(ItemService itemService) {
    cm = new PoolingHttpClientConnectionManager();
    cm.setMaxTotal(100);/*w ww .  jav a2 s . c  o m*/
    cm.setDefaultMaxPerRoute(20);

    RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(DEFAULT_REQ_TIMEOUT)
            .setConnectTimeout(DEFAULT_CON_TIMEOUT).setSocketTimeout(DEFAULT_SOCKET_TIMEOUT).build();

    httpClient = HttpClients.custom().setConnectionManager(cm).setDefaultRequestConfig(requestConfig).build();

    this.itemService = itemService;
}

From source file:com.scottjjohnson.finance.analysis.HttpClient.java

/**
 * Builds a request configuration based on application connection properties.
 * //  w  w  w.j a va 2  s . c om
 * @return request configuration
 */
private RequestConfig getRequestConfig() {

    int socketTimeout = ParseUtils.safeParseInt(connectionProperties.getProperty("SOCKET_TIMEOUT"),
            DEFAULT_SOCKET_TIMEOUT);
    int connectionTimeout = ParseUtils.safeParseInt(connectionProperties.getProperty("CONNECTION_TIMEOUT"),
            DEFAULT_CONNECTION_TIMEOUT);
    String proxyHost = connectionProperties.getProperty("PROXY_HOST");
    int proxyPort = ParseUtils.safeParseInt(connectionProperties.getProperty("PROXY_PORT"), 0);

    Builder config = RequestConfig.custom().setSocketTimeout(socketTimeout)
            .setConnectTimeout(connectionTimeout);

    if (proxyHost != null && proxyPort > 0) {
        config.setProxy(new HttpHost(proxyHost, proxyPort));
    }

    return config.build();
}

From source file:org.nebula.framework.client.NebulaRestClient.java

public NebulaRestClient(String accessId, String secretKey, String hostname, int port, String contextPath,
        int connectionTimeoutInSecs, int socketTimeoutInSecs, int maxTotalConnections) {
    this.accessId = accessId;
    this.secretKey = secretKey;
    this.target = new HttpHost(hostname, port);

    requestConfig = RequestConfig.custom().setConnectionRequestTimeout(connectionTimeoutInSecs * 1000)
            .setConnectTimeout(connectionTimeoutInSecs * 1000).setSocketTimeout(socketTimeoutInSecs * 1000)
            .build();//from www .  j  a  v a 2s.c  om

    requestMapper = new RequestMapper(contextPath);

    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    cm.setMaxTotal(maxTotalConnections);
    cm.setDefaultMaxPerRoute(maxTotalConnections);
    client = HttpClientBuilder.create().setConnectionManager(cm).build();

}

From source file:org.fcrepo.apix.registry.HttpClientFactory.java

/**
 * Construct a new HttpClient./*ww  w  .  ja  va  2 s.  c  o  m*/
 *
 * @return HttpClient impl.
 */
public CloseableHttpClient getClient() {
    final RequestConfig config = RequestConfig.custom().setConnectTimeout(connectTimeout)
            .setSocketTimeout(socketTimeout).build();

    final CredentialsProvider provider = new BasicCredentialsProvider();

    for (final AuthSpec authSpec : getAuthSpecs()) {
        LOG.debug("Using basic auth to {}://{}:{} with client", authSpec.scheme, authSpec.host, authSpec.port);
        final HttpHost host = new HttpHost(authSpec.host, authSpec.port, authSpec.scheme);

        provider.setCredentials(new AuthScope(host, AuthScope.ANY_REALM, authSpec.scheme),
                new UsernamePasswordCredentials(authSpec.username(), authSpec.passwd()));
    }

    return HttpClientBuilder.create().setDefaultRequestConfig(config)
            .addInterceptorLast(new HttpRequestInterceptor() {

                @Override
                public void process(final HttpRequest req, final HttpContext cxt)
                        throws HttpException, IOException {
                    if (!req.containsHeader(HttpHeaders.AUTHORIZATION)) {
                        final String[] hostInfo = req.getFirstHeader(HttpHeaders.HOST).getValue().split(":");
                        final Credentials creds = provider.getCredentials(new AuthScope(
                                new HttpHost(hostInfo[0],
                                        hostInfo.length > 1 ? Integer.valueOf(hostInfo[1]) : 80),
                                AuthScope.ANY_REALM, "http"));

                        if (creds != null) {
                            req.addHeader(HttpHeaders.AUTHORIZATION,
                                    "Basic " + Base64.getEncoder().encodeToString(
                                            String.format("%s:%s", creds.getUserPrincipal().getName(),
                                                    creds.getPassword()).getBytes()));
                            LOG.debug("Added auth header");
                        }
                    }
                }
            }).setDefaultCredentialsProvider(provider).build();
}

From source file:com.orange.ngsi.client.HttpConfiguration.java

@Bean
public CloseableHttpAsyncClient asyncHttpClient(
        PoolingNHttpClientConnectionManager poolingNHttpClientConnectionManager) {

    RequestConfig config = RequestConfig.custom().setConnectTimeout(requestTimeout)
            .setSocketTimeout(requestTimeout).setConnectionRequestTimeout(requestTimeout).build();

    return HttpAsyncClientBuilder.create().setConnectionManager(poolingNHttpClientConnectionManager)
            .setDefaultRequestConfig(config).build();
}

From source file:com.ksc.http.apache.request.impl.ApacheHttpRequestFactory.java

private void addRequestConfig(final HttpRequestBase base, final Request<?> request,
        final HttpClientSettings settings) {
    @SuppressWarnings("deprecation")
    final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom()
            .setConnectionRequestTimeout(settings.getConnectionPoolRequestTimeout())
            .setConnectTimeout(settings.getConnectionTimeout()).setSocketTimeout(settings.getSocketTimeout())
            .setStaleConnectionCheckEnabled(true) // TODO Handle
            // deprecation here.
            .setLocalAddress(settings.getLocalAddress());

    /*//from  w  ww . j ava  2s .com
     * Enable 100-continue support for PUT operations, since this is
     * where we're potentially uploading large amounts of data and want
     * to find out as early as possible if an operation will fail. We
     * don't want to do this for all operations since it will cause
     * extra latency in the network interaction.
     */
    if (HttpMethodName.PUT == request.getHttpMethod() && settings.isUseExpectContinue()) {
        requestConfigBuilder.setExpectContinueEnabled(true);
    }

    base.setConfig(requestConfigBuilder.build());
}