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.ops4j.pax.url.mvn.internal.wagon.ConfigurableHttpWagon.java

@Override
protected CloseableHttpResponse execute(HttpUriRequest httpMethod) throws HttpException, IOException {
    setHeaders(httpMethod);/*from w  ww .  j  ava 2 s.  com*/
    String userAgent = getUserAgent(httpMethod);
    if (userAgent != null) {
        httpMethod.setHeader(HTTP.USER_AGENT, userAgent);
    }

    RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
    // WAGON-273: default the cookie-policy to browser compatible
    requestConfigBuilder.setCookieSpec(CookieSpecs.BROWSER_COMPATIBILITY);

    Repository repo = getRepository();
    ProxyInfo proxyInfo = getProxyInfo(repo.getProtocol(), repo.getHost());
    if (proxyInfo != null) {
        HttpHost proxy = new HttpHost(proxyInfo.getHost(), proxyInfo.getPort());
        requestConfigBuilder.setProxy(proxy);
    }

    HttpMethodConfiguration config = getHttpConfiguration() == null ? null
            : getHttpConfiguration().getMethodConfiguration(httpMethod);

    if (config != null) {
        copyConfig(config, requestConfigBuilder);
    } else {
        requestConfigBuilder.setSocketTimeout(getReadTimeout());
        requestConfigBuilder.setConnectTimeout(getTimeout());
    }

    getLocalContext().setRequestConfig(requestConfigBuilder.build());

    if (config != null && config.isUsePreemptive()) {
        HttpHost targetHost = new HttpHost(repo.getHost(), repo.getPort(), repo.getProtocol());
        AuthScope targetScope = getBasicAuthScope().getScope(targetHost);

        if (getCredentialsProvider().getCredentials(targetScope) != null) {
            BasicScheme targetAuth = new BasicScheme();
            targetAuth.processChallenge(new BasicHeader(AUTH.WWW_AUTH, "BASIC preemptive"));
            getAuthCache().put(targetHost, targetAuth);
        }
    }

    if (proxyInfo != null) {
        if (proxyInfo.getHost() != null) {
            HttpHost proxyHost = new HttpHost(proxyInfo.getHost(), proxyInfo.getPort());
            AuthScope proxyScope = getProxyBasicAuthScope().getScope(proxyHost);

            String proxyUsername = proxyInfo.getUserName();
            String proxyPassword = proxyInfo.getPassword();
            String proxyNtlmHost = proxyInfo.getNtlmHost();
            String proxyNtlmDomain = proxyInfo.getNtlmDomain();

            if (proxyUsername != null && proxyPassword != null) {
                Credentials creds;
                if (proxyNtlmHost != null || proxyNtlmDomain != null) {
                    creds = new NTCredentials(proxyUsername, proxyPassword, proxyNtlmHost, proxyNtlmDomain);
                } else {
                    creds = new UsernamePasswordCredentials(proxyUsername, proxyPassword);
                }

                getCredentialsProvider().setCredentials(proxyScope, creds);
                BasicScheme proxyAuth = new BasicScheme();
                proxyAuth.processChallenge(new BasicHeader(AUTH.PROXY_AUTH, "BASIC preemptive"));
                getAuthCache().put(proxyHost, proxyAuth);
            }
        }
    }

    return client.execute(httpMethod, getLocalContext());
}

From source file:org.openremote.java.console.controller.connector.SingleThreadHttpConnector.java

@Override
protected void doRequest(String url, final ControllerCallback callback, Integer timeout) {
    boolean doHead = false;

    if (callback.command == Command.GET_RESOURCE) {
        // Determine if we should load data if not do a head request
        Object[] data = (Object[]) callback.data;
        boolean loadData = (Boolean) data[2];
        if (!loadData) {
            doHead = true;//from w w  w .  j ava2 s.  co  m
        }
    }

    HttpUriRequest http;

    if (doHead) {
        HttpHead httpHead = new HttpHead(url);
        httpHead.setConfig(RequestConfig.custom().setSocketTimeout(timeout).setConnectionRequestTimeout(timeout)
                .setConnectTimeout(timeout).build());
        http = httpHead;
    } else {
        HttpGet httpGet = new HttpGet(url);
        httpGet.addHeader("Accept", "application/json");
        httpGet.setConfig(RequestConfig.custom().setSocketTimeout(timeout).setConnectionRequestTimeout(timeout)
                .setConnectTimeout(timeout).build());
        http = httpGet;
    }

    try {
        HttpResponse response = client.execute(http);
        byte[] responseData = null;

        if (response.getEntity() != null) {
            InputStream is = response.getEntity().getContent();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int read = 0;
            while ((read = is.read(buffer, 0, buffer.length)) != -1) {
                baos.write(buffer, 0, read);
            }
            baos.flush();
            is.close();
            responseData = baos.toByteArray();
        }

        // java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
        // String responseStr = s.hasNext() ? s.next() : "";

        if (callback.command == Command.LOGOUT) {
            creds.clear();
        }

        handleResponse(callback, response.getStatusLine().getStatusCode(), response.getAllHeaders(),
                responseData);
    } catch (Exception e) {
        if (callback.command == Command.DO_SENSOR_POLLING && e instanceof SocketTimeoutException) {
            callback.callback.onSuccess(null);
            return;
        }
        callback.callback.onFailure(ControllerResponseCode.UNKNOWN_ERROR);
    }
}

From source file:com.joken.notice.message.util.HttpRequestHandler.java

/**
 * ??get//from  w w  w  .  j ava 2  s  .c  om
 * @Auther Hanzibin
 * @date 3:18:48 PM,Mar 11, 2016
 * @return String 
 */
public String sendGetRequest() {
    CloseableHttpResponse httpResponse = null;
    PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
    connManager.setMaxTotal(300);
    connManager.setDefaultMaxPerRoute(20);

    if (requestConfig == null) {
        requestConfig = RequestConfig.custom().setConnectionRequestTimeout(10000)
                .setStaleConnectionCheckEnabled(true).setConnectTimeout(10000).setSocketTimeout(10000).build();
    }
    CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager)
            .setDefaultRequestConfig(requestConfig).build();
    HttpGet hp = new HttpGet(url);
    try {
        httpResponse = httpClient.execute(hp);
        if (httpResponse.getStatusLine().getStatusCode() == 200)
            return EntityUtils.toString(httpResponse.getEntity());
    } catch (Throwable t) {
        t.printStackTrace();
    } finally {
        try {
            hp.releaseConnection();
        } catch (Exception e) {
        }
    }
    return null;
}

From source file:no.kantega.commons.util.XMLHelper.java

private static CloseableHttpClient getHttpClient() {
    return HttpClients.custom().setDefaultRequestConfig(RequestConfig.custom().setRedirectsEnabled(true)
            .setConnectTimeout(10000).setSocketTimeout(10000).setConnectionRequestTimeout(10000).build())
            .build();/*from www.j a v  a 2s.c om*/
}

From source file:com.micro.rent.common.comm.aio.AsyncClientHttpExchangeFutureCallback.java

public void httpAsync() throws Exception {
    RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(3000).setConnectTimeout(3000).build();
    final CloseableHttpAsyncClient httpclient = HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig)
            .build();/* w w  w  . j  av a  2 s .c om*/
    try {
        httpclient.start();
        final HttpGet[] requests = new HttpGet[list.size()];
        for (int i = 0; i < list.size(); i++) {
            BigDecimal lat = list.get(i).getLatitude();
            BigDecimal lon = list.get(i).getLongitude();
            RequestParam reqParam = new RequestParam();
            reqParam.setDestination(lat.toString().concat(",").concat(lon.toString()));
            reqParam.setOrigin(String.valueOf(wpLat).concat(",").concat(String.valueOf(wpLon)));
            reqParam.setMode(queryVo.getTrafficType());
            switch (ETranfficType.getSelfByCode(queryVo.getTrafficType())) {
            case DRIVING:
                reqParam.setOrigin_region(queryVo.getCityName());
                reqParam.setDestination_region(queryVo.getCityName());
                break;
            case TRANSIT:
            case WALKING:
                reqParam.setRegion(queryVo.getCityName());
                break;
            default:
                break;
            }
            requests[i] = new HttpGet(timeUrl(reqParam));
        }
        long start = System.currentTimeMillis();
        final CountDownLatch latch = new CountDownLatch(requests.length);
        for (int j = 0; j < requests.length; j++) {
            final HttpGet request = requests[j];
            final int k = j;
            httpclient.execute(request, new FutureCallback<HttpResponse>() {
                public void completed(final HttpResponse response) {
                    latch.countDown();
                    try {
                        InputStream a = response.getEntity().getContent();
                        String responseString = readInputStream(a);
                        String duration = duration(responseString);
                        list.get(k).setDuration(duration);
                    } catch (IllegalStateException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }

                public void failed(final Exception ex) {
                    latch.countDown();
                }

                public void cancelled() {
                    latch.countDown();
                }

            });
        }
        latch.await();
        log.info(System.currentTimeMillis() - start + "-----------------ms----");
    } finally {
        httpclient.close();
    }
}

From source file:com.spotify.asyncdatastoreclient.Datastore.java

private Datastore(final DatastoreConfig config) {
    this.config = config;

    // TODO implement ning config which doesn't exist on apache http client
    //    .setCompressionEnforced(true)

    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(config.getConnectTimeout())
            .setConnectionRequestTimeout(config.getRequestTimeout()).build();

    client = FiberCloseableHttpAsyncClient.wrap(HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig)
            .setMaxConnPerRoute(config.getMaxConnections()).setMaxConnTotal(config.getMaxConnections())
            .build());//from ww w  .  j  a  v  a  2  s . c  om

    client.start();
    prefixUri = String.format("%s/datastore/%s/datasets/%s/", config.getHost(), config.getVersion(),
            config.getDataset());
    executor = Executors.newSingleThreadScheduledExecutor();

    if (config.getCredential() != null) {
        // block while retrieving an access token for the first time
        refreshAccessToken();

        // wake up every 10 seconds to check if access token has expired
        executor.scheduleAtFixedRate(this::refreshAccessToken, 10, 10, TimeUnit.SECONDS);
    }
}

From source file:com.nextdoor.bender.ipc.es.ElasticSearchTransportFactory.java

@Override
protected CloseableHttpClient getClient(boolean useSSL, String url, Map<String, String> stringHeaders,
        int socketTimeout) {
    HttpClientBuilder cb = super.getClientBuilder(useSSL, url, stringHeaders, socketTimeout);
    ElasticSearchTransportConfig config = (ElasticSearchTransportConfig) super.config;

    if (config.getAuthConfig() != null) {
        if (config.getAuthConfig() instanceof BasicHttpAuthConfig) {
            cb = addUserPassAuth(cb, (BasicHttpAuthConfig) config.getAuthConfig());
        } else if (config.getAuthConfig() instanceof UrlSigningAuthConfig) {
            cb = addSigningAuth(cb, (UrlSigningAuthConfig) config.getAuthConfig());
        }/*  w w  w. j a  v  a2s  . c o m*/
    }

    RequestConfig rc = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(config.getTimeout())
            .build();
    cb.setDefaultRequestConfig(rc);

    return cb.build();
}

From source file:org.apache.lucene.replicator.http.HttpClientBase.java

/**
 * @param conMgr//w ww  .j a  va  2  s  .co  m
 *          connection manager to use for this http client. <b>NOTE:</b>The
 *          provided {@link HttpClientConnectionManager} will not be
 *          {@link HttpClientConnectionManager#shutdown()} by this class.
 * @param defaultConfig
 *          the default {@link RequestConfig} to set on the client. If
 *          {@code null} a default config is created w/ the default connection
 *          and socket timeouts.
 */
protected HttpClientBase(String host, int port, String path, HttpClientConnectionManager conMgr,
        RequestConfig defaultConfig) {
    url = normalizedURL(host, port, path);
    if (defaultConfig == null) {
        this.defaultConfig = RequestConfig.custom().setConnectionRequestTimeout(DEFAULT_CONNECTION_TIMEOUT)
                .setSocketTimeout(DEFAULT_SO_TIMEOUT).build();
    } else {
        this.defaultConfig = defaultConfig;
    }
    httpc = HttpClientBuilder.create().setConnectionManager(conMgr).setDefaultRequestConfig(this.defaultConfig)
            .build();
}

From source file:hoot.services.controllers.job.JobControllerBase.java

/**
 * Post Job request to jobExecutioner Servlet
 * //from  w ww . j ava2 s.c  om
 * @param jobId
 * @param requestParams
 */
public void postJobRquest(String jobId, String requestParams) {
    logger.debug(jobId);
    logger.debug(requestParams);

    // Request should come back immediately but if something is wrong then timeout and clean up to make UI responsive
    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(JOB_RES_CONNECTION_TIMEOUT)
            .setSocketTimeout(JOB_RES_CONNECTION_TIMEOUT).build();

    try (CloseableHttpAsyncClient httpclient = HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig)
            .build()) {
        httpclient.start();

        HttpPost httpPost = new HttpPost(CORE_JOB_SERVER_URL + "/hoot-services/job/" + jobId);
        logger.debug("postJobRequest : {}/hoot-services/job/{}", CORE_JOB_SERVER_URL, jobId);
        StringEntity se = new StringEntity(requestParams);
        httpPost.setEntity(se);

        Future<HttpResponse> future = httpclient.execute(httpPost, null);

        // wait for response
        HttpResponse r = future.get();

        logger.debug("postJobRequest Response: {}", r.getStatusLine());
    } catch (Exception ex) {
        String msg = "Failed upload: " + ex;
        throw new WebApplicationException(ex, Response.serverError().entity(msg).build());
    }
}

From source file:org.cloudfoundry.identity.uaa.integration.FormLoginIntegrationTests.java

@Test
public void testUnauthenticatedRedirect() throws Exception {
    String location = serverRunning.getBaseUrl() + "/";
    HttpGet httpget = new HttpGet(location);
    httpget.setConfig(RequestConfig.custom().setRedirectsEnabled(false).build());
    CloseableHttpResponse response = httpclient.execute(httpget);
    assertEquals(FOUND.value(), response.getStatusLine().getStatusCode());
    location = response.getFirstHeader("Location").getValue();
    response.close();/*from  ww  w .ja va2  s. c  o  m*/
    httpget.completed();
    assertTrue(location.contains("/login"));
}