List of usage examples for org.apache.http.protocol HttpCoreContext HTTP_TARGET_HOST
String HTTP_TARGET_HOST
To view the source code for org.apache.http.protocol HttpCoreContext HTTP_TARGET_HOST.
Click Source Link
From source file:com.github.avarabyeu.restendpoint.http.PreemptiveAuthInterceptor.java
/** * Adds provided auth scheme to the client if there are no another provided * auth schemes/*from w w w . ja v a2 s .c o m*/ */ @Override public final void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { AuthState authState = (AuthState) context.getAttribute(HttpClientContext.TARGET_AUTH_STATE); if (authState.getAuthScheme() == null) { HttpHost targetHost = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); AuthCache authCache = new BasicAuthCache(); authCache.put(targetHost, new BasicScheme()); context.setAttribute(HttpClientContext.AUTH_CACHE, authCache); } }
From source file:org.aludratest.service.gui.web.selenium.httpproxy.ProxyHandler.java
public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException { HttpClientConnection conn = (HttpClientConnection) context.getAttribute(HTTP_OUT_CONN); context.setAttribute(HttpCoreContext.HTTP_CONNECTION, conn); context.setAttribute(HttpCoreContext.HTTP_TARGET_HOST, this.target); // Remove hop-by-hop headers /*request.removeHeaders(HTTP.CONTENT_LEN); request.removeHeaders(HTTP.TRANSFER_ENCODING); request.removeHeaders(HTTP.CONN_DIRECTIVE); request.removeHeaders("Keep-Alive"); request.removeHeaders("Proxy-Authenticate"); request.removeHeaders("TE");// w w w . j a v a 2s . c o m request.removeHeaders("Trailers"); request.removeHeaders("Upgrade");*/ this.httpexecutor.preProcess(request, this.httpproc, context); LOGGER.debug(">> Request URI: " + request.getRequestLine().getUri()); if (LOGGER.isTraceEnabled()) { for (Header header : request.getAllHeaders()) { LOGGER.trace(header.toString()); } } HttpResponse targetResponse = this.httpexecutor.execute(request, conn, context); this.httpexecutor.postProcess(response, this.httpproc, context); // Remove hop-by-hop headers /* targetResponse.removeHeaders(HTTP.CONTENT_LEN); targetResponse.removeHeaders(HTTP.TRANSFER_ENCODING); targetResponse.removeHeaders(HTTP.CONN_DIRECTIVE); targetResponse.removeHeaders("Keep-Alive"); targetResponse.removeHeaders("TE"); targetResponse.removeHeaders("Trailers"); targetResponse.removeHeaders("Upgrade"); */ response.setStatusLine(targetResponse.getStatusLine()); response.setHeaders(targetResponse.getAllHeaders()); response.setEntity(targetResponse.getEntity()); LOGGER.debug("<< Response: " + response.getStatusLine()); boolean keepalive = this.connStrategy.keepAlive(response, context); context.setAttribute(HTTP_CONN_KEEPALIVE, Boolean.valueOf(keepalive)); }
From source file:com.norconex.collector.http.crawler.TargetURLRedirectStrategy.java
public boolean isRedirected(final HttpRequest request, final HttpResponse response, final HttpContext context) throws ProtocolException { boolean isRedirected = nested.isRedirected(request, response, context); HttpUriRequest currentReq = (HttpUriRequest) context.getAttribute(HttpCoreContext.HTTP_REQUEST); HttpHost currentHost = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); if (!isRedirected) { if (currentReq.getURI().isAbsolute()) { CURRENT_URL.set(currentReq.getURI().toString()); } else {/*from w w w.j av a 2 s . c o m*/ CURRENT_URL.set(currentHost.toURI() + currentReq.getURI()); } } return isRedirected; }
From source file:ch.cyberduck.core.http.HttpConnectionPoolBuilder.java
public HttpConnectionPoolBuilder(final Host host, final ThreadLocalHostnameDelegatingTrustManager trust, final X509KeyManager key, final ProxyFinder proxy) { this(host, new PlainConnectionSocketFactory() { @Override//from w ww .j a v a2 s . c o m public Socket createSocket(final HttpContext context) throws IOException { // Return socket factory with disabled support for HTTP tunneling as provided internally return new ProxySocketFactory(host.getProtocol(), new TrustManagerHostnameCallback() { @Override public String getTarget() { return context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST).toString(); } }, proxy).disable(Proxy.Type.HTTP).disable(Proxy.Type.HTTPS).createSocket(); } }, new SSLConnectionSocketFactory(new CustomTrustSSLProtocolSocketFactory(trust, key), new DisabledX509HostnameVerifier()) { @Override public Socket createSocket(final HttpContext context) throws IOException { return new ProxySocketFactory(host.getProtocol(), new TrustManagerHostnameCallback() { @Override public String getTarget() { return context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST).toString(); } }, proxy).disable(Proxy.Type.HTTP).disable(Proxy.Type.HTTPS).createSocket(); } @Override public Socket connectSocket(final int connectTimeout, final Socket socket, final HttpHost host, final InetSocketAddress remoteAddress, final InetSocketAddress localAddress, final HttpContext context) throws IOException { trust.setTarget(remoteAddress.getHostName()); return super.connectSocket(connectTimeout, socket, host, remoteAddress, localAddress, context); } }, proxy); }
From source file:org.callimachusproject.client.HttpAuthenticator.java
public boolean needAuthentication(final HttpRoute route, final HttpRequest request, final HttpResponse response, final HttpContext context) throws HttpException, IOException { final AuthState targetAuthState = getTargetAuthState(context); final AuthState proxyAuthState = getProxyAuthState(context); HttpHost target = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); if (target == null) { target = route.getTargetHost();/*from w w w. jav a 2 s. c o m*/ } HttpHost proxy = route.getProxyHost(); if (this.needAuthentication(target, proxy, targetAuthState, proxyAuthState, response, context)) { // discard previous auth headers request.removeHeaders(AUTH.WWW_AUTH_RESP); request.removeHeaders(AUTH.PROXY_AUTH_RESP); return true; } else { return false; } }
From source file:com.norconex.collector.http.redirect.impl.GenericRedirectURLProvider.java
@Override public String provideRedirectURL(HttpRequest request, HttpResponse response, HttpContext context) { HttpRequest currentReq = (HttpRequest) context.getAttribute(HttpCoreContext.HTTP_REQUEST); HttpHost currentHost = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); String originalURL = toAbsoluteURI(currentHost, currentReq); //--- Location --- Header hl = response.getLastHeader(HttpHeaders.LOCATION); if (hl == null) { //TODO should throw exception instead? LOG.error("Redirect detected to a null Location for: " + toAbsoluteURI(currentHost, currentReq)); return null; }//from www . j a v a2 s. c o m String redirectLocation = hl.getValue(); //--- Charset --- String charset = null; Header hc = response.getLastHeader("Content-Type"); if (hc != null) { String contentType = hc.getValue(); if (contentType.contains(";")) { charset = StringUtils.substringAfterLast(contentType, "charset="); } } if (StringUtils.isBlank(charset)) { charset = fallbackCharset; } //--- Build/fix redirect URL --- String targetURL = HttpURL.toAbsolute(originalURL, redirectLocation); targetURL = resolveRedirectURL(targetURL, charset); if (LOG.isDebugEnabled()) { LOG.debug("URL redirect: " + originalURL + " -> " + targetURL); } return targetURL; }
From source file:fi.okm.mpass.shibboleth.monitor.FormPostTargetResolver.java
/** {@inheritDoc} */ public SequenceStep resolve(final HttpContext context, final SequenceStep startingStep) throws ResponseValidatorException { if (parameters != null) { log.debug("Adding the step parameters {}", parameters); for (final NameValuePair parameter : parameters) { startingStep.getParameters().add(parameter); }//from ww w . j a v a2s . c o m } final SequenceResponse response = resolveStep(context, startingStep, isFollowRedirects()); final String redirectUrl = getHeaderValue(response.getHeaders(), "Location"); if (!isFollowRedirects() && redirectUrl != null) { final SequenceStep resultStep = new SequenceStep(); resultStep.setUrl(completeUrl(context, redirectUrl)); return resultStep; } final String result = response.getResponse(); if (StringSupport.trimOrNull(result) == null) { throw new ResponseValidatorException("The response is empty!"); } final SequenceStep resultStep = initResultStep(); final List<NameValuePair> resultParameters = new ArrayList<>(); final String action = getValue(result, "action"); log.debug("Parsed action {}", action); for (final String item : outputParameters) { final String value = getParamValue(result, item); if (value != null) { resultParameters.add(new BasicNameValuePair(item, StringEscapeUtils.unescapeHtml(value))); } } if (action != null) { final String url = action.replaceAll(":", ":").replaceAll("/", "/"); resultStep.setUrl(url); if (!url.startsWith("http")) { final HttpHost target = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); resultStep.setUrl( target.getSchemeName() + "://" + target.getHostName() + ":" + target.getPort() + url); } else { resultStep.setUrl(url); } } if (resultParameters.size() > 0) { resultStep.setParameters(resultParameters); } return resultStep; }
From source file:mobi.jenkinsci.alm.assembla.client.AssemblaClient.java
private URL getLatestRedirectedUrl() { try {/* ww w . j a v a 2s. com*/ final HttpRequest request = (HttpRequest) httpContext.getAttribute(HttpCoreContext.HTTP_REQUEST); final HttpHost host = (HttpHost) httpContext.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); if (host.getPort() <= 0) { return new URL(host.getSchemeName(), host.getHostName(), request.getRequestLine().getUri()); } else { return new URL(host.getSchemeName(), host.getHostName(), host.getPort(), request.getRequestLine().getUri()); } } catch (final MalformedURLException e) { throw new IllegalArgumentException("Cannot get last redirected URL from HTTP Context", e); } }
From source file:com.ittm_solutions.ipacore.IpaApi.java
/** * Returns the final URI in a redirect chain of a request. * * @param context//from w w w . j a v a2 s. com * client context as returned by {@code clientContext} * @return URI */ private static URI currentRedirectUri(HttpClientContext context) { HttpUriRequest currentReq = (HttpUriRequest) context.getAttribute(HttpCoreContext.HTTP_REQUEST); HttpHost currentHost = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); URI uri = null; try { uri = ((currentReq.getURI().isAbsolute()) ? currentReq.getURI() : (new URI(currentHost.toURI() + currentReq.getURI()))); } catch (URISyntaxException e) { // this should never happen throw new RuntimeException(e); } return uri; }
From source file:org.wildfly.camel.test.olingo4.Olingo4IntegrationTest.java
private String getRealServiceUrl(String baseUrl) throws ClientProtocolException, IOException { CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(baseUrl); HttpContext httpContext = new BasicHttpContext(); httpclient.execute(httpGet, httpContext); HttpUriRequest currentReq = (HttpUriRequest) httpContext.getAttribute(HttpCoreContext.HTTP_REQUEST); HttpHost currentHost = (HttpHost) httpContext.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); String currentUrl = (currentReq.getURI().isAbsolute()) ? currentReq.getURI().toString() : (currentHost.toURI() + currentReq.getURI()); return currentUrl; }