Java Code Examples for org.apache.http.HeaderElementIterator#nextElement()
The following examples show how to use
org.apache.http.HeaderElementIterator#nextElement() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ApacheHttpClientConfig.java From sfg-blog-posts with GNU General Public License v3.0 | 6 votes |
@Bean public ConnectionKeepAliveStrategy connectionKeepAliveStrategy() { return (httpResponse, httpContext) -> { HeaderIterator headerIterator = httpResponse.headerIterator(HTTP.CONN_KEEP_ALIVE); HeaderElementIterator elementIterator = new BasicHeaderElementIterator(headerIterator); while (elementIterator.hasNext()) { HeaderElement element = elementIterator.nextElement(); String param = element.getName(); String value = element.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { return Long.parseLong(value) * 1000; // convert to ms } } return DEFAULT_KEEP_ALIVE_TIME; }; }
Example 2
Source File: HttpClientConfig.java From wecube-platform with Apache License 2.0 | 6 votes |
@Bean public ConnectionKeepAliveStrategy connectionKeepAliveStrategy() { return new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { return Long.parseLong(value) * 1000; } } return httpClientProperties.getDefaultKeepAliveTimeMillis(); } }; }
Example 3
Source File: HttpClientConfig.java From SpringBootBucket with MIT License | 6 votes |
@Bean public ConnectionKeepAliveStrategy connectionKeepAliveStrategy() { return new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext httpContext) { HeaderElementIterator it = new BasicHeaderElementIterator (response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { return Long.parseLong(value) * 1000; } } return p.getDefaultKeepAliveTimeMillis(); } }; }
Example 4
Source File: WebhookMsgHandler.java From iotplatform with Apache License 2.0 | 6 votes |
@Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { long timeout = Long.parseLong(value) * 1000; if (timeout > 20 * 1000) { return 20 * 1000; } else { return timeout; } } } return 5 * 1000; }
Example 5
Source File: ClickHouseHttpClientBuilder.java From clickhouse-jdbc with Apache License 2.0 | 6 votes |
private ConnectionKeepAliveStrategy createKeepAliveStrategy() { return new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse httpResponse, HttpContext httpContext) { // in case of errors keep-alive not always works. close connection just in case if (httpResponse.getStatusLine().getStatusCode() != HttpURLConnection.HTTP_OK) { return -1; } HeaderElementIterator it = new BasicHeaderElementIterator( httpResponse.headerIterator(HTTP.CONN_DIRECTIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); //String value = he.getValue(); if (param != null && param.equalsIgnoreCase(HTTP.CONN_KEEP_ALIVE)) { return properties.getKeepAliveTimeout(); } } return -1; } }; }
Example 6
Source File: SwiftConnectionManager.java From stocator with Apache License 2.0 | 6 votes |
@Override public long getKeepAliveDuration(final HttpResponse response, final HttpContext context) { // Honor 'keep-alive' header final HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { final HeaderElement he = it.nextElement(); final String param = he.getName(); final String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { // Do nothing } } } // otherwise keep alive for 30 seconds return 30 * 1000; }
Example 7
Source File: SimpleHttpFetcher.java From ache with Apache License 2.0 | 6 votes |
public long getKeepAliveDuration(HttpResponse response, HttpContext context) { if (response == null) { throw new IllegalArgumentException("HTTP response may not be null"); } HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { } } } return DEFAULT_KEEP_ALIVE_DURATION; }
Example 8
Source File: UmaPermissionService.java From oxTrust with MIT License | 6 votes |
@Override public long getKeepAliveDuration(HttpResponse httpResponse, HttpContext httpContext) { HeaderElementIterator headerElementIterator = new BasicHeaderElementIterator( httpResponse.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (headerElementIterator.hasNext()) { HeaderElement headerElement = headerElementIterator.nextElement(); String name = headerElement.getName(); String value = headerElement.getValue(); if (value != null && name.equalsIgnoreCase("timeout")) { return Long.parseLong(value) * 1000; } } // Set own keep alive duration if server does not have it return appConfiguration.getRptConnectionPoolCustomKeepAliveTimeout() * 1000; }
Example 9
Source File: HttpClient.java From data-prep with Apache License 2.0 | 6 votes |
/** * @return The connection keep alive strategy. */ private ConnectionKeepAliveStrategy getKeepAliveStrategy() { return (response, context) -> { // Honor 'keep-alive' header HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && "timeout".equalsIgnoreCase(param)) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { // let's move on the next header value break; } } } // otherwise use the default value return defaultKeepAlive * 1000; }; }
Example 10
Source File: HttpClientKeepAliveStrategy.java From disconf with Apache License 2.0 | 6 votes |
@Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { } } } return keepAliveTimeOut * 1000; }
Example 11
Source File: HttpClientKeepAliveStrategy.java From disconf with Apache License 2.0 | 6 votes |
@Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { } } } return keepAliveTimeOut * 1000; }
Example 12
Source File: ConnKeepAliveStrategy.java From xian with Apache License 2.0 | 5 votes |
public static ConnectionKeepAliveStrategy create(long keepTimeMill) { if (keepTimeMill < 0) throw new IllegalArgumentException("apache_httpclient连接持久时间不能小于0"); return new ConnectionKeepAliveStrategy() { public long getKeepAliveDuration(HttpResponse response, HttpContext context) { // Honor 'keep-alive' header HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { } } } return keepTimeMill; } }; }
Example 13
Source File: KeepAliveStrategy.java From dx-java with MIT License | 5 votes |
@Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase(KEEP_ALIVE_TIMEOUT_PARAM_NAME)) { return Long.parseLong(value) * 1000; } } return DEFAULT_KEEP_ALIVE_TIMEOUT_MS; }
Example 14
Source File: HttpClientConnectionManagementLiveTest.java From tutorials with MIT License | 5 votes |
@Test // @Ignore // 5.1 public final void whenCustomizingKeepAliveStrategy_thenNoExceptions() throws ClientProtocolException, IOException { final ConnectionKeepAliveStrategy myStrategy = new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(final HttpResponse myResponse, final HttpContext myContext) { final HeaderElementIterator it = new BasicHeaderElementIterator(myResponse.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { final HeaderElement he = it.nextElement(); final String param = he.getName(); final String value = he.getValue(); if ((value != null) && param.equalsIgnoreCase("timeout")) { return Long.parseLong(value) * 1000; } } final HttpHost target = (HttpHost) myContext.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); if ("localhost".equalsIgnoreCase(target.getHostName())) { return 10 * 1000; } else { return 5 * 1000; } } }; client = HttpClients.custom().setKeepAliveStrategy(myStrategy).setConnectionManager(poolingConnManager).build(); client.execute(get1); client.execute(get2); }
Example 15
Source File: HttpHelper.java From benten with MIT License | 4 votes |
@PostConstruct public void init() { poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager(); poolingHttpClientConnectionManager.setMaxTotal(maxTotalConnections); poolingHttpClientConnectionManager .setDefaultMaxPerRoute(this.maxConnectionsPerRoute); ConnectionKeepAliveStrategy myStrategy = new ConnectionKeepAliveStrategy() { public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { try { return Long.parseLong(value) * 1000; } catch (NumberFormatException ignore) { } } } return keepAliveDurationMilliseconds; } }; RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); if (isProxyNeeded) { requestConfigBuilder.setProxy(new HttpHost(proxyHost, proxyPort)); } RequestConfig requestConfig = requestConfigBuilder .setConnectionRequestTimeout(this.connReqTimeoutMilliseconds) .setConnectTimeout(connTimeoutMilliseconds) .setSocketTimeout(this.socketTimeoutMilliseconds) .setStaleConnectionCheckEnabled(false) .setRedirectsEnabled(true).setMaxRedirects(maxRedirects) .build(); HttpClientBuilder builder = HttpClientBuilder.create() .setDefaultRequestConfig(requestConfig); httpClient = builder .setConnectionManager(poolingHttpClientConnectionManager) .setKeepAliveStrategy(myStrategy).build(); if (reapInterval > 0 && idleConnectionsTimeout > 0) { LOGGER.debug(String .format("Initializing idle connection monitor thread with reap interval %s ms and idle connection time out %s ms", reapInterval, idleConnectionsTimeout)); idcm = new IdleConnectionMonitorThread( poolingHttpClientConnectionManager, reapInterval, idleConnectionsTimeout); idcm.start(); } }