Java Code Examples for org.apache.http.HeaderElement#getValue()

The following examples show how to use org.apache.http.HeaderElement#getValue() . 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: HttpClientConfig.java    From wecube-platform with Apache License 2.0 6 votes vote down vote up
@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 2
Source File: AppCookieManager.java    From ambari-metrics with Apache License 2.0 6 votes vote down vote up
static String getHadoopAuthCookieValue(Header[] headers) {
  if (headers == null) {
    return null;
  }
  for (Header header : headers) {
    HeaderElement[] elements = header.getElements();
    for (HeaderElement element : elements) {
      String cookieName = element.getName();
      if (cookieName.equals(HADOOP_AUTH)) {
        if (element.getValue() != null) {
          String trimmedVal = element.getValue().trim();
          if (!trimmedVal.isEmpty()) {
            return trimmedVal;
          }
        }
      }
    }
  }
  return null;
}
 
Example 3
Source File: ApacheHttpClientConfig.java    From sfg-blog-posts with GNU General Public License v3.0 6 votes vote down vote up
@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 4
Source File: HttpClientConfig.java    From SpringBootBucket with MIT License 6 votes vote down vote up
@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 5
Source File: WebhookMsgHandler.java    From iotplatform with Apache License 2.0 6 votes vote down vote up
@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 6
Source File: SwiftConnectionManager.java    From stocator with Apache License 2.0 6 votes vote down vote up
@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: HttpClientKeepAliveStrategy.java    From disconf with Apache License 2.0 6 votes vote down vote up
@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 8
Source File: SimpleHttpFetcher.java    From ache with Apache License 2.0 6 votes vote down vote up
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 9
Source File: UmaPermissionService.java    From oxTrust with MIT License 6 votes vote down vote up
@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 10
Source File: HttpClient.java    From data-prep with Apache License 2.0 6 votes vote down vote up
/**
 * @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 11
Source File: HttpClientKeepAliveStrategy.java    From disconf with Apache License 2.0 6 votes vote down vote up
@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: CachedResponseSuitabilityChecker.java    From apigee-android-sdk with Apache License 2.0 5 votes vote down vote up
private long getMaxStale(HttpRequest request) {
	long maxstale = -1;
	for (Header h : request.getHeaders("Cache-Control")) {
		for (HeaderElement elt : h.getElements()) {
			if ("max-stale".equals(elt.getName())) {
				if ((elt.getValue() == null || "".equals(elt.getValue()
						.trim())) && maxstale == -1) {
					maxstale = Long.MAX_VALUE;
				} else {
					try {
						long val = Long.parseLong(elt.getValue());
						if (val < 0)
							val = 0;
						if (maxstale == -1 || val < maxstale) {
							maxstale = val;
						}
					} catch (NumberFormatException nfe) {
						// err on the side of preserving semantic
						// transparency
						maxstale = 0;
					}
				}
			}
		}
	}
	return maxstale;
}
 
Example 13
Source File: RequestProtocolCompliance.java    From apigee-android-sdk with Apache License 2.0 5 votes vote down vote up
private RequestProtocolError requestContainsNoCacheDirectiveWithFieldName(
		HttpRequest request) {
	for (Header h : request.getHeaders("Cache-Control")) {
		for (HeaderElement elt : h.getElements()) {
			if ("no-cache".equalsIgnoreCase(elt.getName())
					&& elt.getValue() != null) {
				return RequestProtocolError.NO_CACHE_DIRECTIVE_WITH_FIELD_NAME;
			}
		}
	}
	return null;
}
 
Example 14
Source File: HttpClientConnectionManagementLiveTest.java    From tutorials with MIT License 5 votes vote down vote up
@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: ApacheCloudStackClient.java    From apache-cloudstack-java-client with Apache License 2.0 5 votes vote down vote up
/**
 *  This method will create a {@link BasicClientCookie} with the given {@link HeaderElement}.
 *  It sill set the cookie's name and value according to the {@link HeaderElement#getName()} and {@link HeaderElement#getValue()} methods.
 *  Moreover, it will transport every {@link HeaderElement} parameter to the cookie using the {@link BasicClientCookie#setAttribute(String, String)}.
 *  Additionally, it configures the cookie path ({@link BasicClientCookie#setPath(String)}) to value '/client/api' and the cookie domain using {@link #configureDomainForCookie(BasicClientCookie)} method.
 */
protected BasicClientCookie createCookieForHeaderElement(HeaderElement element) {
    BasicClientCookie cookie = new BasicClientCookie(element.getName(), element.getValue());
    for (NameValuePair parameter : element.getParameters()) {
        cookie.setAttribute(parameter.getName(), parameter.getValue());
    }
    cookie.setPath("/client/api");
    configureDomainForCookie(cookie);
    return cookie;
}
 
Example 16
Source File: KeepAliveStrategy.java    From dx-java with MIT License 5 votes vote down vote up
@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 17
Source File: ConnKeepAliveStrategy.java    From xian with Apache License 2.0 5 votes vote down vote up
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 18
Source File: HttpHelper.java    From benten with MIT License 4 votes vote down vote up
@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();
    }
}