org.apache.http.client.config.RequestConfig

Here are the examples of the java api class org.apache.http.client.config.RequestConfig taken from open source projects.

1. HttpYarClient#httpPost()

Project: yar-java
File: HttpYarClient.java
@Override
protected byte[] httpPost(String url, Map<String, String> headers, byte[] content) {
    RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(soTimeout).setConnectTimeout(connectTimeout).build();
    HttpPost httpPost = new HttpPost(url);
    httpPost.setConfig(requestConfig);
    httpPost.setEntity(new ByteArrayEntity(content, ContentType.APPLICATION_FORM_URLENCODED));
    try {
        HttpResponse response = httpClient.execute(httpPost);
        int status = response.getStatusLine().getStatusCode();
        if (status >= 200 && status < 300) {
            HttpEntity entity = response.getEntity();
            return entity != null ? EntityUtils.toByteArray(entity) : null;
        } else {
            log.error("Unexpected response status: " + status);
            return null;
        }
    } catch (Exception e) {
        log.error("httpclient execute fail.", e);
        return null;
    }
}

2. DefaultRestDriver#createHttpClientBuilder()

Project: wasabi
File: DefaultRestDriver.java
private HttpClientBuilder createHttpClientBuilder(final Driver.Configuration configuration) {
    PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
    poolingHttpClientConnectionManager.setMaxTotal(200);
    poolingHttpClientConnectionManager.setDefaultMaxPerRoute(50);
    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(configuration.getConnectionTimeout()).setSocketTimeout(configuration.getSocketTimeout()).build();
    return HttpClients.custom().setConnectionManager(poolingHttpClientConnectionManager).setDefaultRequestConfig(requestConfig);
}

3. RibbonLoadBalancingHttpClientTests#testRequestConfigFollowRedirectsOverrideWithDoNotFollowRedirects()

Project: spring-cloud-netflix
File: RibbonLoadBalancingHttpClientTests.java
@Test
public void testRequestConfigFollowRedirectsOverrideWithDoNotFollowRedirects() throws Exception {
    DefaultClientConfigImpl override = new DefaultClientConfigImpl();
    override.set(CommonClientConfigKey.FollowRedirects, false);
    override.set(CommonClientConfigKey.IsSecure, false);
    RequestConfig result = getBuiltRequestConfig(FollowRedirects.class, override);
    assertThat(result.isRedirectsEnabled(), is(false));
}

4. RibbonLoadBalancingHttpClientTests#testRequestConfigDoNotFollowRedirectsOverrideWithFollowRedirects()

Project: spring-cloud-netflix
File: RibbonLoadBalancingHttpClientTests.java
@Test
public void testRequestConfigDoNotFollowRedirectsOverrideWithFollowRedirects() throws Exception {
    DefaultClientConfigImpl override = new DefaultClientConfigImpl();
    override.set(CommonClientConfigKey.FollowRedirects, true);
    override.set(CommonClientConfigKey.IsSecure, false);
    RequestConfig result = getBuiltRequestConfig(DoNotFollowRedirects.class, override);
    assertThat(result.isRedirectsEnabled(), is(true));
}

5. LegacyMmsConnection#constructHttpClient()

Project: Silence
File: LegacyMmsConnection.java
protected CloseableHttpClient constructHttpClient() throws IOException {
    RequestConfig config = RequestConfig.custom().setConnectTimeout(20 * 1000).setConnectionRequestTimeout(20 * 1000).setSocketTimeout(20 * 1000).setMaxRedirects(20).build();
    URL mmsc = new URL(apn.getMmsc());
    CredentialsProvider credsProvider = new BasicCredentialsProvider();
    if (apn.hasAuthentication()) {
        credsProvider.setCredentials(new AuthScope(mmsc.getHost(), mmsc.getPort() > -1 ? mmsc.getPort() : mmsc.getDefaultPort()), new UsernamePasswordCredentials(apn.getUsername(), apn.getPassword()));
    }
    return HttpClients.custom().setConnectionReuseStrategy(new NoConnectionReuseStrategyHC4()).setRedirectStrategy(new LaxRedirectStrategy()).setUserAgent(SilencePreferences.getMmsUserAgent(context, USER_AGENT)).setConnectionManager(new BasicHttpClientConnectionManager()).setDefaultRequestConfig(config).setDefaultCredentialsProvider(credsProvider).build();
}

6. ApacheHttpClient43Engine#getCurrentConfiguration()

Project: Resteasy
File: ApacheHttpClient43Engine.java
private RequestConfig getCurrentConfiguration(final HttpRequestBase httpMethod) {
    RequestConfig baseConfig;
    if (httpMethod != null && httpMethod.getConfig() != null) {
        baseConfig = httpMethod.getConfig();
    } else {
        Configurable clientConfiguration = (Configurable) httpClient;
        baseConfig = clientConfiguration.getConfig();
    }
    return baseConfig;
}

7. IhcHttpsClient#sendQ()

Project: openhab
File: IhcHttpsClient.java
private String sendQ(String query, int timeout) throws ClientProtocolException, IOException, NoHttpResponseException {
    logger.trace("Send query (timeout={}): {}", timeout, query);
    postReq.setEntity(new StringEntity(query, "UTF-8"));
    postReq.addHeader("content-type", "text/xml");
    final RequestConfig params = RequestConfig.custom().setConnectTimeout(connectTimeout).setSocketTimeout(timeout).build();
    postReq.setConfig(params);
    // Execute POST
    HttpResponse response = client.execute(postReq, IhcConnectionPool.getInstance().getHttpContext());
    String resp = EntityUtils.toString(response.getEntity());
    logger.trace("Received response: {}", resp);
    return resp;
}

8. AbstractProxyResponseHandler#prepareRemoteRequest()

Project: moco
File: AbstractProxyResponseHandler.java
private HttpRequestBase prepareRemoteRequest(final FullHttpRequest request, final URL url) {
    HttpRequestBase remoteRequest = createRemoteRequest(request, url);
    RequestConfig config = RequestConfig.custom().setRedirectsEnabled(false).build();
    remoteRequest.setConfig(config);
    remoteRequest.setProtocolVersion(createVersion(request));
    long contentLength = HttpUtil.getContentLength(request, -1);
    if (contentLength > 0 && remoteRequest instanceof HttpEntityEnclosingRequest) {
        HttpEntityEnclosingRequest entityRequest = (HttpEntityEnclosingRequest) remoteRequest;
        entityRequest.setEntity(createEntity(request.content(), contentLength));
    }
    return remoteRequest;
}

9. HttpClientUtil#setRequestConfig()

Project: fqms
File: HttpClientUtil.java
private static RequestConfig setRequestConfig(String proxyIp, int proxyPort) {
    RequestConfig requestConfig = null;
    if (StringUtils.isNotBlank(proxyIp) && 0 != proxyPort) {
        HttpHost proxy = new HttpHost(proxyIp, proxyPort);
        //??????????  
        requestConfig = RequestConfig.custom().setConnectionRequestTimeout(10000).setConnectTimeout(20000).setSocketTimeout(30000).setProxy(proxy).setCookieSpec("mySpec").build();
    } else {
        //??????????  
        requestConfig = RequestConfig.custom().setConnectionRequestTimeout(10000).setConnectTimeout(20000).setSocketTimeout(30000).setCookieSpec("mySpec").build();
    }
    return requestConfig;
}

10. ApacheConnector#getUriHttpRequest()

Project: docker-java
File: ApacheConnector.java
private HttpUriRequest getUriHttpRequest(final ClientRequest clientRequest) {
    final Boolean redirectsEnabled = clientRequest.resolveProperty(ClientProperties.FOLLOW_REDIRECTS, requestConfig.isRedirectsEnabled());
    final RequestConfig config = RequestConfig.copy(requestConfig).setRedirectsEnabled(redirectsEnabled).build();
    final Boolean bufferingEnabled = clientRequest.resolveProperty(ClientProperties.REQUEST_ENTITY_PROCESSING, RequestEntityProcessing.class) == RequestEntityProcessing.BUFFERED;
    final HttpEntity entity = getHttpEntity(clientRequest, bufferingEnabled);
    return RequestBuilder.create(clientRequest.getMethod()).setUri(clientRequest.getUri()).setConfig(config).setEntity(entity).build();
}

11. RestletRedirectTest#testRedirect()

Project: camel
File: RestletRedirectTest.java
@Test
public void testRedirect() throws Exception {
    HttpGet get = new HttpGet("http://localhost:" + portNum + "/users/homer");
    // do not follow redirects
    RequestConfig requestconfig = RequestConfig.custom().setRedirectsEnabled(false).build();
    CloseableHttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(requestconfig).build();
    try {
        HttpResponse response = client.execute(get);
        for (Header header : response.getAllHeaders()) {
            log.info("Header {}", header);
        }
        assertEquals(302, response.getStatusLine().getStatusCode());
        assertTrue("Should have location header", response.containsHeader("Location"));
        assertEquals("http://somewhere.com", response.getFirstHeader("Location").getValue());
        assertEquals("bar", response.getFirstHeader("Foo").getValue());
    } finally {
        client.close();
    }
}

12. DefaultTSDBService#getClient()

Project: Argus
File: DefaultTSDBService.java
/* Helper to create the read and write clients. */
private CloseableHttpClient getClient(String endpoint, int connCount, int connTimeout, int socketTimeout) throws MalformedURLException {
    URL url = new URL(endpoint);
    int port = url.getPort();
    requireArgument(port != -1, "Read endpoint must include explicit port.");
    PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager();
    connMgr.setMaxTotal(connCount);
    connMgr.setDefaultMaxPerRoute(connCount);
    String route = endpoint.substring(0, endpoint.lastIndexOf(":"));
    HttpHost host = new HttpHost(route, port);
    RequestConfig reqConfig = RequestConfig.custom().setConnectionRequestTimeout(connTimeout).setConnectTimeout(connTimeout).setSocketTimeout(socketTimeout).build();
    connMgr.setMaxPerRoute(new HttpRoute(host), connCount / 2);
    return HttpClients.custom().setConnectionManager(connMgr).setDefaultRequestConfig(reqConfig).build();
}

13. BasicHttpSolrClientTest#testCompression()

Project: lucene-solr
File: BasicHttpSolrClientTest.java
@Test
public void testCompression() throws Exception {
    SolrQuery q = new SolrQuery("*:*");
    final String clientUrl = jetty.getBaseUrl().toString() + "/debug/foo";
    try (HttpSolrClient client = getHttpSolrClient(clientUrl)) {
        // verify request header gets set
        DebugServlet.clear();
        try {
            client.query(q);
        } catch (ParseException ignored) {
        }
        assertNull(DebugServlet.headers.toString(), DebugServlet.headers.get("Accept-Encoding"));
    }
    try (HttpSolrClient client = getHttpSolrClient(clientUrl, null, null, true)) {
        try {
            client.query(q);
        } catch (ParseException ignored) {
        }
        assertNotNull(DebugServlet.headers.get("Accept-Encoding"));
    }
    try (HttpSolrClient client = getHttpSolrClient(clientUrl, null, null, false)) {
        try {
            client.query(q);
        } catch (ParseException ignored) {
        }
    }
    assertNull(DebugServlet.headers.get("Accept-Encoding"));
    // verify server compresses output
    HttpGet get = new HttpGet(jetty.getBaseUrl().toString() + "/collection1" + "/select?q=foo&wt=xml");
    get.setHeader("Accept-Encoding", "gzip");
    ModifiableSolrParams params = new ModifiableSolrParams();
    params.set(HttpClientUtil.PROP_ALLOW_COMPRESSION, true);
    RequestConfig config = RequestConfig.custom().setDecompressionEnabled(false).build();
    get.setConfig(config);
    CloseableHttpClient httpclient = HttpClientUtil.createClient(params);
    HttpEntity entity = null;
    try {
        HttpResponse response = httpclient.execute(get, HttpClientUtil.createNewHttpClientRequestContext());
        entity = response.getEntity();
        Header ceheader = entity.getContentEncoding();
        assertNotNull(Arrays.asList(response.getAllHeaders()).toString(), ceheader);
        assertEquals("gzip", ceheader.getValue());
    } finally {
        if (entity != null) {
            entity.getContent().close();
        }
        HttpClientUtil.close(httpclient);
    }
    // verify compressed response can be handled
    try (HttpSolrClient client = getHttpSolrClient(jetty.getBaseUrl().toString() + "/collection1")) {
        q = new SolrQuery("foo");
        QueryResponse response = client.query(q);
        assertEquals(0, response.getStatus());
    }
}

14. HttpClientUtil#setupBuilder()

Project: lucene-solr
File: HttpClientUtil.java
private static HttpClientBuilder setupBuilder(HttpClientBuilder builder, SolrParams config) {
    Builder requestConfigBuilder = RequestConfig.custom().setRedirectsEnabled(config.getBool(HttpClientUtil.PROP_FOLLOW_REDIRECTS, false)).setDecompressionEnabled(false).setConnectTimeout(config.getInt(HttpClientUtil.PROP_CONNECTION_TIMEOUT, DEFAULT_CONNECT_TIMEOUT)).setSocketTimeout(config.getInt(HttpClientUtil.PROP_SO_TIMEOUT, DEFAULT_SO_TIMEOUT));
    String cpolicy = cookiePolicy;
    if (cpolicy != null) {
        requestConfigBuilder.setCookieSpec(cpolicy);
    }
    RequestConfig requestConfig = requestConfigBuilder.build();
    HttpClientBuilder retBuilder = builder.setDefaultRequestConfig(requestConfig);
    if (config.getBool(HttpClientUtil.PROP_USE_RETRY, true)) {
        retBuilder = retBuilder.setRetryHandler(new SolrHttpRequestRetryHandler(3));
    } else {
        retBuilder = retBuilder.setRetryHandler(NO_RETRY);
    }
    final String basicAuthUser = config.get(HttpClientUtil.PROP_BASIC_AUTH_USER);
    final String basicAuthPass = config.get(HttpClientUtil.PROP_BASIC_AUTH_PASS);
    if (basicAuthUser != null && basicAuthPass != null) {
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(basicAuthUser, basicAuthPass));
        retBuilder.setDefaultCredentialsProvider(credsProvider);
    }
    if (config.getBool(HttpClientUtil.PROP_ALLOW_COMPRESSION, false)) {
        retBuilder.addInterceptorFirst(new UseCompressionRequestInterceptor());
        retBuilder.addInterceptorFirst(new UseCompressionResponseInterceptor());
    } else {
        retBuilder.disableContentCompression();
    }
    return retBuilder;
}

15. Options#refresh()

Project: unirest-java
File: Options.java
public static void refresh() {
    // Load timeouts
    Object connectionTimeout = Options.getOption(Option.CONNECTION_TIMEOUT);
    if (connectionTimeout == null)
        connectionTimeout = CONNECTION_TIMEOUT;
    Object socketTimeout = Options.getOption(Option.SOCKET_TIMEOUT);
    if (socketTimeout == null)
        socketTimeout = SOCKET_TIMEOUT;
    // Load limits
    Object maxTotal = Options.getOption(Option.MAX_TOTAL);
    if (maxTotal == null)
        maxTotal = MAX_TOTAL;
    Object maxPerRoute = Options.getOption(Option.MAX_PER_ROUTE);
    if (maxPerRoute == null)
        maxPerRoute = MAX_PER_ROUTE;
    // Load proxy if set
    HttpHost proxy = (HttpHost) Options.getOption(Option.PROXY);
    // Create common default configuration
    RequestConfig clientConfig = RequestConfig.custom().setConnectTimeout(((Long) connectionTimeout).intValue()).setSocketTimeout(((Long) socketTimeout).intValue()).setConnectionRequestTimeout(((Long) socketTimeout).intValue()).setProxy(proxy).build();
    PoolingHttpClientConnectionManager syncConnectionManager = new PoolingHttpClientConnectionManager();
    syncConnectionManager.setMaxTotal((Integer) maxTotal);
    syncConnectionManager.setDefaultMaxPerRoute((Integer) maxPerRoute);
    // Create clients
    setOption(Option.HTTPCLIENT, HttpClientBuilder.create().setDefaultRequestConfig(clientConfig).setConnectionManager(syncConnectionManager).build());
    SyncIdleConnectionMonitorThread syncIdleConnectionMonitorThread = new SyncIdleConnectionMonitorThread(syncConnectionManager);
    setOption(Option.SYNC_MONITOR, syncIdleConnectionMonitorThread);
    syncIdleConnectionMonitorThread.start();
    DefaultConnectingIOReactor ioreactor;
    PoolingNHttpClientConnectionManager asyncConnectionManager;
    try {
        ioreactor = new DefaultConnectingIOReactor();
        asyncConnectionManager = new PoolingNHttpClientConnectionManager(ioreactor);
        asyncConnectionManager.setMaxTotal((Integer) maxTotal);
        asyncConnectionManager.setDefaultMaxPerRoute((Integer) maxPerRoute);
    } catch (IOReactorException e) {
        throw new RuntimeException(e);
    }
    CloseableHttpAsyncClient asyncClient = HttpAsyncClientBuilder.create().setDefaultRequestConfig(clientConfig).setConnectionManager(asyncConnectionManager).build();
    setOption(Option.ASYNCHTTPCLIENT, asyncClient);
    setOption(Option.ASYNC_MONITOR, new AsyncIdleConnectionMonitorThread(asyncConnectionManager));
}

16. RibbonLoadBalancingHttpClientTests#testRequestConfigFollowRedirectsNoOverride()

Project: spring-cloud-netflix
File: RibbonLoadBalancingHttpClientTests.java
@Test
public void testRequestConfigFollowRedirectsNoOverride() throws Exception {
    RequestConfig result = getBuiltRequestConfig(FollowRedirects.class, null);
    assertThat(result.isRedirectsEnabled(), is(true));
}

17. RibbonLoadBalancingHttpClientTests#testRequestConfigDoNotFollowRedirectsNoOverride()

Project: spring-cloud-netflix
File: RibbonLoadBalancingHttpClientTests.java
@Test
public void testRequestConfigDoNotFollowRedirectsNoOverride() throws Exception {
    RequestConfig result = getBuiltRequestConfig(DoNotFollowRedirects.class, null);
    assertThat(result.isRedirectsEnabled(), is(false));
}

18. RibbonLoadBalancingHttpClientTests#testRequestConfigUseDefaultsNoOverride()

Project: spring-cloud-netflix
File: RibbonLoadBalancingHttpClientTests.java
@Test
public void testRequestConfigUseDefaultsNoOverride() throws Exception {
    RequestConfig result = getBuiltRequestConfig(UseDefaults.class, null);
    assertThat(result.isRedirectsEnabled(), is(false));
}

19. SimpleHostRoutingFilter#newClient()

Project: spring-cloud-netflix
File: SimpleHostRoutingFilter.java
protected CloseableHttpClient newClient() {
    final RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(SOCKET_TIMEOUT.get()).setConnectTimeout(CONNECTION_TIMEOUT.get()).setCookieSpec(CookieSpecs.IGNORE_COOKIES).build();
    HttpClientBuilder httpClientBuilder = HttpClients.custom();
    if (!sslHostnameValidationEnabled) {
        httpClientBuilder.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE);
    }
    return httpClientBuilder.setConnectionManager(newConnectionManager()).setDefaultRequestConfig(requestConfig).setRetryHandler(new DefaultHttpRequestRetryHandler(0, false)).setRedirectStrategy(new RedirectStrategy() {

        @Override
        public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) throws ProtocolException {
            return false;
        }

        @Override
        public HttpUriRequest getRedirect(HttpRequest request, HttpResponse response, HttpContext context) throws ProtocolException {
            return null;
        }
    }).build();
}

20. RibbonLoadBalancingHttpClient#execute()

Project: spring-cloud-netflix
File: RibbonLoadBalancingHttpClient.java
@Override
public RibbonApacheHttpResponse execute(RibbonApacheHttpRequest request, final IClientConfig configOverride) throws Exception {
    final RequestConfig.Builder builder = RequestConfig.custom();
    if (configOverride != null) {
        builder.setConnectTimeout(configOverride.get(CommonClientConfigKey.ConnectTimeout, this.connectTimeout));
        builder.setConnectionRequestTimeout(configOverride.get(CommonClientConfigKey.ReadTimeout, this.readTimeout));
        builder.setRedirectsEnabled(configOverride.get(CommonClientConfigKey.FollowRedirects, this.followRedirects));
    } else {
        builder.setConnectTimeout(this.connectTimeout);
        builder.setConnectionRequestTimeout(this.readTimeout);
        builder.setRedirectsEnabled(this.followRedirects);
    }
    final RequestConfig requestConfig = builder.build();
    if (isSecure(configOverride)) {
        final URI secureUri = UriComponentsBuilder.fromUri(request.getUri()).scheme("https").build().toUri();
        request = request.withNewUri(secureUri);
    }
    final HttpUriRequest httpUriRequest = request.toRequest(requestConfig);
    final HttpResponse httpResponse = this.delegate.execute(httpUriRequest);
    return new RibbonApacheHttpResponse(httpResponse, httpUriRequest.getURI());
}

21. TestRestTemplateTests#options()

Project: spring-boot
File: TestRestTemplateTests.java
@Test
public void options() throws Exception {
    TestRestTemplate template = new TestRestTemplate(HttpClientOption.ENABLE_REDIRECTS);
    CustomHttpComponentsClientHttpRequestFactory factory = (CustomHttpComponentsClientHttpRequestFactory) template.getRestTemplate().getRequestFactory();
    RequestConfig config = factory.getRequestConfig();
    assertThat(config.isRedirectsEnabled()).isTrue();
}

22. HttpClientFactory#cliBuilder()

Project: SeimiCrawler
File: HttpClientFactory.java
public static HttpClientBuilder cliBuilder(int timeout) {
    HttpRequestRetryHandler retryHander = new HttpRequestRetryHandler() {

        @Override
        public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
            if (executionCount > 3) {
                // Do not retry if over max retry count
                return false;
            }
            if (exception instanceof java.net.SocketTimeoutException) {
                //????
                return true;
            }
            if (exception instanceof InterruptedIOException) {
                // Timeout
                return true;
            }
            if (exception instanceof UnknownHostException) {
                // Unknown host
                return false;
            }
            if (exception instanceof SSLException) {
                // SSL handshake exception
                return false;
            }
            HttpClientContext clientContext = HttpClientContext.adapt(context);
            HttpRequest request = clientContext.getRequest();
            boolean idempotent = !(request instanceof HttpEntityEnclosingRequest);
            if (idempotent) {
                // Retry if the request is considered idempotent
                return true;
            }
            return false;
        }
    };
    RedirectStrategy redirectStrategy = new SeimiRedirectStrategy();
    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout).setSocketTimeout(timeout).build();
    PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = HttpClientConnectionManagerProvider.getHcPoolInstance();
    return HttpClients.custom().setDefaultRequestConfig(requestConfig).setConnectionManager(poolingHttpClientConnectionManager).setRedirectStrategy(redirectStrategy).setRetryHandler(retryHander);
}

23. StdRemoteLiveWebCache#getCachedResource()

Project: openwayback
File: StdRemoteLiveWebCache.java
/**
     * Gets resource object from the live web. Configure timeout to 10 seconds.
     *  
     * @param url to fetch from the live web.
     * @param maxCacheMS maximum age of resource to return - optionally honored
     * @param bUseOlder if true, return documents older than maxCacheMS if
     *                  a more recent copy is not available.
     * 
     * @return Resource for url
     * 
     * @throws LiveDocumentNotAvailableException if the resource cannot be
     *         retrieved from the live web, but all proxying and caching 
     *         mechanisms functioned properly
     * @throws LiveWebCacheUnavailableException if there was a problem either
     * 		   accessing the live web, in proxying to the live web, or in
     * 		   maintaining the cache for the live web
     * @throws LiveWebTimeoutException if there is no response from the live
     * 		   web cache before a timeout occurred.
     * @throws IOException for the usual reasons
     * 
     * @see org.archive.wayback.liveweb.LiveWebCache#getCachedResource(java.net.URL, long, boolean)
     * @inheritDoc org.archive.wayback.liveweb.LiveWebCache#getCachedResource
     */
@Override
public Resource getCachedResource(URL url, long maxCacheMS, boolean bUseOlder) throws LiveDocumentNotAvailableException, LiveWebCacheUnavailableException, LiveWebTimeoutException, IOException {
    String urlStr = url.toExternalForm();
    if (requestPrefix != null)
        urlStr = requestPrefix + urlStr;
    HttpHost proxy = new HttpHost(hostConfiguration.getProxyHost(), hostConfiguration.getProxyPort());
    // Set socketTimeout and connectionTimeout to 10 seconds.
    RequestConfig reqConf = RequestConfig.custom().setProxy(proxy).setSocketTimeout(10000).setConnectTimeout(10000).setConnectionRequestTimeout(10000).build();
    CloseableHttpClient httpclient = HttpClients.custom().setDefaultRequestConfig(reqConf).build();
    HttpGet httpGet = new HttpGet(urlStr);
    try {
        // The following line gets robots.txt from live web
        response = httpclient.execute(httpGet);
        String httpHeaderStr = "";
        String bodyStr = "";
        /* If it fails to get robots.txt (http status code is 404),
               then display contents and don't throw exception
               (socketTimeOutException or connectTimeOutException)
            */
        if (response.getStatusLine().getStatusCode() == 404) {
            httpHeaderStr = "HTTP/1.0 200 OK\n";
            bodyStr = String.format("%s\n%s\n", "User-agent: *", "Allow: /");
        } else if (response.getStatusLine().getStatusCode() == 200) {
            // The following line represents first line in http header
            httpHeaderStr = String.format("%s %d %s\n", response.getStatusLine().getProtocolVersion(), response.getStatusLine().getStatusCode(), response.getStatusLine().getReasonPhrase());
            // Get robots.txt contents and store it into bodyStr
            HttpEntity entity = response.getEntity();
            bodyStr = EntityUtils.toString(entity);
        }
        // Get Http Header and store complete http header in httpHeaderStr
        for (Header header : response.getAllHeaders()) httpHeaderStr += header.toString() + "\n";
        httpHeaderStr += "\n";
        int length = httpHeaderStr.length() + bodyStr.length();
        /*
                Using httpHeaderStr and bodyStr to construct responseStr.
                First line in responseStr should exist.
            */
        // TODO: the following line should be enhanced, 
        //       especially the first line in responseStr. 
        String responseStr = String.format("%s %s %d\n%s%s", urlStr, "0.0.0.0 10000000000000 text/plain", length, httpHeaderStr, bodyStr);
        ByteArrayInputStream bais = new ByteArrayInputStream(responseStr.getBytes());
        // TODO: Should not use ARCRecord
        ARCRecord r = new ARCRecord(bais, "id", 0L, false, false, true);
        ar = (ArcResource) ResourceFactory.ARCArchiveRecordToResource(r, null);
        if (ar.getStatusCode() == 502) {
            throw new LiveDocumentNotAvailableException(urlStr);
        } else if (ar.getStatusCode() == 504) {
            throw new LiveWebTimeoutException("Timeout:" + urlStr);
        }
        return ar;
    } catch (ResourceNotAvailableException e) {
        throw new LiveDocumentNotAvailableException(urlStr);
    } catch (NoHttpResponseException e) {
        throw new LiveWebCacheUnavailableException("No Http Response for " + urlStr);
    } catch (ConnectException e) {
        throw new LiveWebCacheUnavailableException(e.getLocalizedMessage() + " : " + urlStr);
    } catch (SocketException e) {
        throw new LiveWebCacheUnavailableException(e.getLocalizedMessage() + " : " + urlStr);
    } catch (SocketTimeoutException e) {
        throw new LiveWebTimeoutException(e.getLocalizedMessage() + " : " + urlStr);
    } catch (ConnectTimeoutException e) {
        throw new LiveWebTimeoutException(e.getLocalizedMessage() + " : " + urlStr);
    } finally {
        response.close();
    }
}

24. Tr064Comm#createTr064HttpClient()

Project: openhab
File: Tr064Comm.java
/***
     * Creates a apache HTTP Client object, ignoring SSL Exceptions like self signed certificates
     * and sets Auth. Scheme to Digest Auth
     *
     * @param fboxUrl the URL from config file of fbox to connect to
     * @return the ready-to-use httpclient for tr064 requests
     */
private CloseableHttpClient createTr064HttpClient(String fboxUrl) {
    CloseableHttpClient hc = null;
    // Convert URL String from config in easy explotable URI object
    URIBuilder uriFbox = null;
    try {
        uriFbox = new URIBuilder(fboxUrl);
    } catch (URISyntaxException e) {
        logger.error("Invalid FritzBox URL! {}", e.getMessage());
        return null;
    }
    // Create context of the http client
    _httpClientContext = HttpClientContext.create();
    CookieStore cookieStore = new BasicCookieStore();
    _httpClientContext.setCookieStore(cookieStore);
    // SETUP AUTH
    // Auth is specific for this target
    HttpHost target = new HttpHost(uriFbox.getHost(), uriFbox.getPort(), uriFbox.getScheme());
    // Add digest authentication with username/pw from global config
    CredentialsProvider credp = new BasicCredentialsProvider();
    credp.setCredentials(new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials(_user, _pw));
    // Create AuthCache instance. Manages authentication based on server response
    AuthCache authCache = new BasicAuthCache();
    // Generate DIGEST scheme object, initialize it and add it to the local auth cache. Digeste is standard for fbox
    // auth SOAP
    DigestScheme digestAuth = new DigestScheme();
    // known from fbox specification
    digestAuth.overrideParamter("realm", "HTTPS Access");
    // never known at first request
    digestAuth.overrideParamter("nonce", "");
    authCache.put(target, digestAuth);
    // Add AuthCache to the execution context
    _httpClientContext.setAuthCache(authCache);
    // SETUP SSL TRUST
    SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
    SSLConnectionSocketFactory sslsf = null;
    try {
        // accept self signed certs
        sslContextBuilder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
        // dont
        sslsf = new SSLConnectionSocketFactory(sslContextBuilder.build(), null, null, new NoopHostnameVerifier());
    // verify
    // hostname
    // against
    // cert
    // CN
    } catch (Exception ex) {
        logger.error(ex.getMessage());
    }
    // Set timeout values
    RequestConfig rc = RequestConfig.copy(RequestConfig.DEFAULT).setSocketTimeout(4000).setConnectTimeout(4000).setConnectionRequestTimeout(4000).build();
    // BUILDER
    // setup builder with parameters defined before
    hc = // set the SSL options which trust every self signed
    HttpClientBuilder.create().setSSLSocketFactory(sslsf).setDefaultCredentialsProvider(// cert
    credp).setDefaultRequestConfig(// set auth options using digest
    rc).build();
    return hc;
}

25. EtcdClient#buildDefaultHttpClient()

Project: jetcd
File: EtcdClient.java
static CloseableHttpAsyncClient buildDefaultHttpClient() {
    // TODO: Increase timeout??
    RequestConfig requestConfig = RequestConfig.custom().build();
    CloseableHttpAsyncClient httpClient = HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig).build();
    httpClient.start();
    return httpClient;
}

26. JestClientFactoryTest#clientCreationWithTimeout()

Project: Jest
File: JestClientFactoryTest.java
@Test
public void clientCreationWithTimeout() {
    JestClientFactory factory = new JestClientFactory();
    HttpClientConfig httpClientConfig = new HttpClientConfig.Builder("someUri").connTimeout(150).readTimeout(300).build();
    factory.setHttpClientConfig(httpClientConfig);
    final RequestConfig defaultRequestConfig = factory.getRequestConfig();
    assertNotNull(defaultRequestConfig);
    assertEquals(150, defaultRequestConfig.getConnectTimeout());
    assertEquals(300, defaultRequestConfig.getSocketTimeout());
}

27. EduAdaptiveStepicConnector#setTimeout()

Project: intellij-community
File: EduAdaptiveStepicConnector.java
private static void setTimeout(HttpPost request) {
    final RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(CONNECTION_TIMEOUT).setConnectTimeout(CONNECTION_TIMEOUT).setSocketTimeout(CONNECTION_TIMEOUT).build();
    request.setConfig(requestConfig);
}

28. EduAdaptiveStepicConnector#setTimeout()

Project: intellij-community
File: EduAdaptiveStepicConnector.java
private static void setTimeout(HttpGet request) {
    final RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(CONNECTION_TIMEOUT).setConnectTimeout(CONNECTION_TIMEOUT).setSocketTimeout(CONNECTION_TIMEOUT).build();
    request.setConfig(requestConfig);
}

29. HttpUtil#getRequestConfig()

Project: fqms
File: HttpUtil.java
/**
     * ??requestConfig
     *
     * @param i
     * @return
     */
private static RequestConfig getRequestConfig(int i) {
    RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(i).setConnectTimeout(i).setConnectionRequestTimeout(i).setStaleConnectionCheckEnabled(true).build();
    return requestConfig;
}

30. ApacheHttpClient#toHttpUriRequest()

Project: feign
File: ApacheHttpClient.java
HttpUriRequest toHttpUriRequest(Request request, Request.Options options) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException {
    RequestBuilder requestBuilder = RequestBuilder.create(request.method());
    //per request timeouts
    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(options.connectTimeoutMillis()).setSocketTimeout(options.readTimeoutMillis()).build();
    requestBuilder.setConfig(requestConfig);
    URI uri = new URIBuilder(request.url()).build();
    requestBuilder.setUri(uri.getScheme() + "://" + uri.getAuthority() + uri.getRawPath());
    //request query params
    List<NameValuePair> queryParams = URLEncodedUtils.parse(uri, requestBuilder.getCharset().name());
    for (NameValuePair queryParam : queryParams) {
        requestBuilder.addParameter(queryParam);
    }
    //request headers
    boolean hasAcceptHeader = false;
    for (Map.Entry<String, Collection<String>> headerEntry : request.headers().entrySet()) {
        String headerName = headerEntry.getKey();
        if (headerName.equalsIgnoreCase(ACCEPT_HEADER_NAME)) {
            hasAcceptHeader = true;
        }
        if (headerName.equalsIgnoreCase(Util.CONTENT_LENGTH)) {
            // doesn't like us to set it as well.
            continue;
        }
        for (String headerValue : headerEntry.getValue()) {
            requestBuilder.addHeader(headerName, headerValue);
        }
    }
    //some servers choke on the default accept string, so we'll set it to anything
    if (!hasAcceptHeader) {
        requestBuilder.addHeader(ACCEPT_HEADER_NAME, "*/*");
    }
    //request body
    if (request.body() != null) {
        HttpEntity entity = null;
        if (request.charset() != null) {
            ContentType contentType = getContentType(request);
            String content = new String(request.body(), request.charset());
            entity = new StringEntity(content, contentType);
        } else {
            entity = new ByteArrayEntity(request.body());
        }
        requestBuilder.setEntity(entity);
    }
    return requestBuilder.build();
}

31. Monitor#run()

Project: elasticsearch-analysis-ik
File: Monitor.java
/**
	 * ?????
	 *  ?????????Head??
	 *  ???????Last-Modify?ETags??????????
	 *  ?????????1min??????
	 * 	?????????????
	 *  ???1min??????
	 */
public void run() {
    //????
    RequestConfig rc = RequestConfig.custom().setConnectionRequestTimeout(10 * 1000).setConnectTimeout(10 * 1000).setSocketTimeout(15 * 1000).build();
    HttpHead head = new HttpHead(location);
    head.setConfig(rc);
    //?????
    if (last_modified != null) {
        head.setHeader("If-Modified-Since", last_modified);
    }
    if (eTags != null) {
        head.setHeader("If-None-Match", eTags);
    }
    CloseableHttpResponse response = null;
    try {
        response = httpclient.execute(head);
        //??200 ????
        if (response.getStatusLine().getStatusCode() == 200) {
            if (((response.getLastHeader("Last-Modified") != null) && !response.getLastHeader("Last-Modified").getValue().equalsIgnoreCase(last_modified)) || ((response.getLastHeader("ETag") != null) && !response.getLastHeader("ETag").getValue().equalsIgnoreCase(eTags))) {
                // ???????,????????????last_modified,eTags
                Dictionary.getSingleton().reLoadMainDict();
                last_modified = response.getLastHeader("Last-Modified") == null ? null : response.getLastHeader("Last-Modified").getValue();
                eTags = response.getLastHeader("ETag") == null ? null : response.getLastHeader("ETag").getValue();
            }
        } else if (response.getStatusLine().getStatusCode() == 304) {
        //?????????
        //noop
        } else {
            Dictionary.logger.info("remote_ext_dict {} return bad code {}", location, response.getStatusLine().getStatusCode());
        }
    } catch (Exception e) {
        Dictionary.logger.error("remote_ext_dict {} error!", e, location);
    } finally {
        try {
            if (response != null) {
                response.close();
            }
        } catch (IOException e) {
            logger.error(e.getMessage(), e);
        }
    }
}

32. Dictionary#getRemoteWords()

Project: elasticsearch-analysis-ik
File: Dictionary.java
/**
	 * ??????????????
	 */
private static List<String> getRemoteWords(String location) {
    List<String> buffer = new ArrayList<String>();
    RequestConfig rc = RequestConfig.custom().setConnectionRequestTimeout(10 * 1000).setConnectTimeout(10 * 1000).setSocketTimeout(60 * 1000).build();
    CloseableHttpClient httpclient = HttpClients.createDefault();
    CloseableHttpResponse response;
    BufferedReader in;
    HttpGet get = new HttpGet(location);
    get.setConfig(rc);
    try {
        response = httpclient.execute(get);
        if (response.getStatusLine().getStatusCode() == 200) {
            String charset = "UTF-8";
            // ????????utf-8
            if (response.getEntity().getContentType().getValue().contains("charset=")) {
                String contentType = response.getEntity().getContentType().getValue();
                charset = contentType.substring(contentType.lastIndexOf("=") + 1);
            }
            in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), charset));
            String line;
            while ((line = in.readLine()) != null) {
                buffer.add(line);
            }
            in.close();
            response.close();
            return buffer;
        }
        response.close();
    } catch (ClientProtocolException e) {
        logger.error("getRemoteWords {} error", e, location);
    } catch (IllegalStateException e) {
        logger.error("getRemoteWords {} error", e, location);
    } catch (IOException e) {
        logger.error("getRemoteWords {} error", e, location);
    }
    return buffer;
}

33. RestTestClient#createRestClient()

Project: elasticsearch
File: RestTestClient.java
private static RestClient createRestClient(URL[] urls, Settings settings) throws IOException {
    SSLConnectionSocketFactory sslsf;
    String keystorePath = settings.get(TRUSTSTORE_PATH);
    if (keystorePath != null) {
        final String keystorePass = settings.get(TRUSTSTORE_PASSWORD);
        if (keystorePass == null) {
            throw new IllegalStateException(TRUSTSTORE_PATH + " is provided but not " + TRUSTSTORE_PASSWORD);
        }
        Path path = PathUtils.get(keystorePath);
        if (!Files.exists(path)) {
            throw new IllegalStateException(TRUSTSTORE_PATH + " is set but points to a non-existing file");
        }
        try {
            KeyStore keyStore = KeyStore.getInstance("jks");
            try (InputStream is = Files.newInputStream(path)) {
                keyStore.load(is, keystorePass.toCharArray());
            }
            SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(keyStore, null).build();
            sslsf = new SSLConnectionSocketFactory(sslcontext);
        } catch (KeyStoreExceptionNoSuchAlgorithmException | KeyManagementException | CertificateException |  e) {
            throw new RuntimeException(e);
        }
    } else {
        sslsf = SSLConnectionSocketFactory.getSocketFactory();
    }
    Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("http", PlainConnectionSocketFactory.getSocketFactory()).register("https", sslsf).build();
    PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
    //default settings may be too constraining
    connectionManager.setDefaultMaxPerRoute(10);
    connectionManager.setMaxTotal(30);
    //default timeouts are all infinite
    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(CONNECT_TIMEOUT_MILLIS).setSocketTimeout(SOCKET_TIMEOUT_MILLIS).setConnectionRequestTimeout(CONNECTION_REQUEST_TIMEOUT_MILLIS).build();
    CloseableHttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connectionManager).setDefaultRequestConfig(requestConfig).build();
    String protocol = settings.get(PROTOCOL, "http");
    HttpHost[] hosts = new HttpHost[urls.length];
    for (int i = 0; i < hosts.length; i++) {
        URL url = urls[i];
        hosts[i] = new HttpHost(url.getHost(), url.getPort(), protocol);
    }
    RestClient.Builder builder = RestClient.builder(hosts).setHttpClient(httpClient).setMaxRetryTimeoutMillis(MAX_RETRY_TIMEOUT_MILLIS);
    try (ThreadContext threadContext = new ThreadContext(settings)) {
        Header[] defaultHeaders = new Header[threadContext.getHeaders().size()];
        int i = 0;
        for (Map.Entry<String, String> entry : threadContext.getHeaders().entrySet()) {
            defaultHeaders[i++] = new BasicHeader(entry.getKey(), entry.getValue());
        }
        builder.setDefaultHeaders(defaultHeaders);
    }
    return builder.build();
}

34. HttpClientBuilder#createClient()

Project: dropwizard
File: HttpClientBuilder.java
/**
     * Map the parameters in {@link HttpClientConfiguration} to configuration on a
     * {@link org.apache.http.impl.client.HttpClientBuilder} instance
     *
     * @param builder
     * @param manager
     * @param name
     * @return the configured {@link CloseableHttpClient}
     */
protected ConfiguredCloseableHttpClient createClient(final org.apache.http.impl.client.HttpClientBuilder builder, final InstrumentedHttpClientConnectionManager manager, final String name) {
    final String cookiePolicy = configuration.isCookiesEnabled() ? CookieSpecs.DEFAULT : CookieSpecs.IGNORE_COOKIES;
    final Integer timeout = (int) configuration.getTimeout().toMilliseconds();
    final Integer connectionTimeout = (int) configuration.getConnectionTimeout().toMilliseconds();
    final Integer connectionRequestTimeout = (int) configuration.getConnectionRequestTimeout().toMilliseconds();
    final long keepAlive = configuration.getKeepAlive().toMilliseconds();
    final ConnectionReuseStrategy reuseStrategy = keepAlive == 0 ? new NoConnectionReuseStrategy() : new DefaultConnectionReuseStrategy();
    final HttpRequestRetryHandler retryHandler = configuration.getRetries() == 0 ? NO_RETRIES : (httpRequestRetryHandler == null ? new DefaultHttpRequestRetryHandler(configuration.getRetries(), false) : httpRequestRetryHandler);
    final RequestConfig requestConfig = RequestConfig.custom().setCookieSpec(cookiePolicy).setSocketTimeout(timeout).setConnectTimeout(connectionTimeout).setConnectionRequestTimeout(connectionRequestTimeout).build();
    final SocketConfig socketConfig = SocketConfig.custom().setTcpNoDelay(true).setSoTimeout(timeout).build();
    builder.setRequestExecutor(new InstrumentedHttpRequestExecutor(metricRegistry, metricNameStrategy, name)).setConnectionManager(manager).setDefaultRequestConfig(requestConfig).setDefaultSocketConfig(socketConfig).setConnectionReuseStrategy(reuseStrategy).setRetryHandler(retryHandler).setUserAgent(createUserAgent(name));
    if (keepAlive != 0) {
        // either keep alive based on response header Keep-Alive,
        // or if the server can keep a persistent connection (-1), then override based on client's configuration
        builder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy() {

            @Override
            public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
                final long duration = super.getKeepAliveDuration(response, context);
                return (duration == -1) ? keepAlive : duration;
            }
        });
    }
    // create a tunnel through a proxy host if it's specified in the config
    final ProxyConfiguration proxy = configuration.getProxyConfiguration();
    if (proxy != null) {
        final HttpHost httpHost = new HttpHost(proxy.getHost(), proxy.getPort(), proxy.getScheme());
        builder.setRoutePlanner(new NonProxyListProxyRoutePlanner(httpHost, proxy.getNonProxyHosts()));
        // if the proxy host requires authentication then add the host credentials to the credentials provider
        final AuthConfiguration auth = proxy.getAuth();
        if (auth != null) {
            if (credentialsProvider == null) {
                credentialsProvider = new BasicCredentialsProvider();
            }
            credentialsProvider.setCredentials(new AuthScope(httpHost), new UsernamePasswordCredentials(auth.getUsername(), auth.getPassword()));
        }
    }
    if (credentialsProvider != null) {
        builder.setDefaultCredentialsProvider(credentialsProvider);
    }
    if (routePlanner != null) {
        builder.setRoutePlanner(routePlanner);
    }
    if (disableContentCompression) {
        builder.disableContentCompression();
    }
    if (redirectStrategy != null) {
        builder.setRedirectStrategy(redirectStrategy);
    }
    if (defaultHeaders != null) {
        builder.setDefaultHeaders(defaultHeaders);
    }
    return new ConfiguredCloseableHttpClient(builder.build(), requestConfig);
}

35. HttpClientUtil#buildHttpClient()

Project: disconf
File: HttpClientUtil.java
/**
     * ???httpclient??
     */
private static void buildHttpClient() {
    RequestConfig globalConfig = RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(5000).build();
    CloseableHttpClient httpclient = HttpClients.custom().setKeepAliveStrategy(new HttpClientKeepAliveStrategy()).setDefaultRequestConfig(globalConfig).build();
    HttpClientUtil.httpclient = httpclient;
}

36. RemoteContentServlet#initApacheHttpClient()

Project: cyfm
File: RemoteContentServlet.java
// ????connection pool??????client
private void initApacheHttpClient() {
    RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(TIMEOUT_SECONDS * 1000).setConnectTimeout(TIMEOUT_SECONDS * 1000).build();
    httpClient = HttpClientBuilder.create().setMaxConnTotal(POOL_SIZE).setMaxConnPerRoute(POOL_SIZE).setDefaultRequestConfig(requestConfig).build();
}

37. ApacheSender43#enhanceRequest()

Project: ApplicationInsights-Java
File: ApacheSender43.java
@Override
public void enhanceRequest(HttpPost request) {
    RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(REQUEST_TIMEOUT_IN_MILLIS).setSocketTimeout(REQUEST_TIMEOUT_IN_MILLIS).setConnectTimeout(REQUEST_TIMEOUT_IN_MILLIS).setSocketTimeout(REQUEST_TIMEOUT_IN_MILLIS).build();
    request.setConfig(requestConfig);
}