当前位置: 首页>>代码示例>>Java>>正文


Java RouteInfo类代码示例

本文整理汇总了Java中org.apache.http.conn.routing.RouteInfo的典型用法代码示例。如果您正苦于以下问题:Java RouteInfo类的具体用法?Java RouteInfo怎么用?Java RouteInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RouteInfo类属于org.apache.http.conn.routing包,在下文中一共展示了RouteInfo类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getServicePrincipalName

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
private String getServicePrincipalName(final HttpContext context) {
    final String spn;
    if (this.servicePrincipalName != null) {
        spn = this.servicePrincipalName;
    } else {
        final HttpClientContext clientContext = HttpClientContext.adapt(context);
        final HttpHost target = clientContext.getTargetHost();
        if (target != null) {
            spn = "HTTP/" + target.getHostName();
        } else {
            final RouteInfo route = clientContext.getHttpRoute();
            if (route != null) {
                spn = "HTTP/" + route.getTargetHost().getHostName();
            } else {
                // Should not happen
                spn = null;
            }
        }
    }
    if (this.log.isDebugEnabled()) {
        this.log.debug("Using SPN: " + spn);
    }
    return spn;
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:25,代码来源:WindowsNegotiateScheme.java

示例2: rewriteURIForRoute

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
/**
 * A convenience method that optionally converts the original {@link java.net.URI} either
 * to a relative or an absolute form as required by the specified route.
 *
 * @param uri
 *            original URI.
 * @throws URISyntaxException
 *             If the resulting URI is invalid.
 *
 * @since 4.4
 */
public static URI rewriteURIForRoute(final URI uri, final RouteInfo route) throws URISyntaxException {
    if (uri == null) {
        return null;
    }
    if (route.getProxyHost() != null && !route.isTunnelled()) {
        // Make sure the request URI is absolute
        if (!uri.isAbsolute()) {
            final HttpHost target = route.getTargetHost();
            return rewriteURI(uri, target, true);
        } else {
            return rewriteURI(uri);
        }
    } else {
        // Make sure the request URI is relative
        if (uri.isAbsolute()) {
            return rewriteURI(uri, null, true);
        } else {
            return rewriteURI(uri);
        }
    }
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:33,代码来源:URIUtils.java

示例3: process

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
public void process(final HttpRequest request, final HttpContext context)
        throws HttpException, IOException {
    Args.notNull(request, "HTTP request");

    final String method = request.getRequestLine().getMethod();
    if (method.equalsIgnoreCase("CONNECT")) {
        request.setHeader(PROXY_CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        return;
    }

    final HttpClientContext clientContext = HttpClientContext.adapt(context);

    // Obtain the client connection (required)
    final RouteInfo route = clientContext.getHttpRoute();
    if (route == null) {
        if (Log.isLoggable(TAG, Log.DEBUG)) {
            Log.d(TAG, "Connection route not set in the context");
        }
        return;
    }

    if (route.getHopCount() == 1 || route.isTunnelled()) {
        if (!request.containsHeader(HTTP.CONN_DIRECTIVE)) {
            request.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        }
    }
    if (route.getHopCount() == 2 && !route.isTunnelled()) {
        if (!request.containsHeader(PROXY_CONN_DIRECTIVE)) {
            request.addHeader(PROXY_CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        }
    }
}
 
开发者ID:xxonehjh,项目名称:remote-files-sync,代码行数:33,代码来源:RequestClientConnControl.java

示例4: process

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
@Override
public void process(final HttpRequest request, final HttpContext context)
        throws HttpException, IOException {
    Args.notNull(request, "HTTP request");

    final String method = request.getRequestLine().getMethod();
    if (method.equalsIgnoreCase("CONNECT")) {
        request.setHeader(PROXY_CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        return;
    }

    final HttpClientContext clientContext = HttpClientContext.adapt(context);

    // Obtain the client connection (required)
    final RouteInfo route = clientContext.getHttpRoute();
    if (route == null) {
        this.log.debug("Connection route not set in the context");
        return;
    }

    if (route.getHopCount() == 1 || route.isTunnelled()) {
        if (!request.containsHeader(HTTP.CONN_DIRECTIVE)) {
            request.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        }
    }
    if (route.getHopCount() == 2 && !route.isTunnelled()) {
        if (!request.containsHeader(PROXY_CONN_DIRECTIVE)) {
            request.addHeader(PROXY_CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
        }
    }
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:32,代码来源:RequestClientConnControl.java

示例5: testEstablishRouteViaProxyTunnelMultipleHops

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
@Test(expected = HttpException.class)
public void testEstablishRouteViaProxyTunnelMultipleHops() throws Exception {
    final AuthState authState = new AuthState();
    final HttpHost proxy1 = new HttpHost("this", 8888);
    final HttpHost proxy2 = new HttpHost("that", 8888);
    final HttpRoute route = new HttpRoute(target, null, new HttpHost[] {proxy1, proxy2},
            true, RouteInfo.TunnelType.TUNNELLED, RouteInfo.LayerType.LAYERED);
    final HttpClientContext context = new HttpClientContext();
    final HttpRequestWrapper request = HttpRequestWrapper.wrap(new HttpGet("http://bar/test"));

    Mockito.when(managedConn.isOpen()).thenReturn(Boolean.TRUE);

    mainClientExec.establishRoute(authState, managedConn, route, request, context);
}
 
开发者ID:MyPureCloud,项目名称:purecloud-iot,代码行数:15,代码来源:TestMainClientExec.java

示例6: process

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
@Override
public void process(HttpRequest request, HttpContext context) throws HttpException, IOException {
    HttpClientContext clientContext = HttpClientContext.adapt(context);
    AuthState proxyAuthState = clientContext.getProxyAuthState();

    // If there's no auth scheme available yet, try to initialize it preemptively
    if (proxyAuthState.getAuthScheme() == null) {
        CredentialsProvider credsProvider = clientContext.getCredentialsProvider();
        RouteInfo route = clientContext.getHttpRoute();
        if (route == null) {
            log.debug("No route found for {}", clientContext.getTargetHost());
            return;
        }

        HttpHost proxyHost = route.getProxyHost();
        if (proxyHost == null) {
            log.warn("No proxy host found in route {} for host {}", route, clientContext.getTargetHost());
            return;
        }

        Credentials creds = credsProvider.getCredentials(
                new AuthScope(proxyHost.getHostName(), proxyHost.getPort()));
        if (creds == null) {
            log.info("No credentials found for proxy: " + proxyHost);
            return;
        }
        proxyAuthState.update(new BasicScheme(ChallengeState.PROXY), creds);
    }
}
 
开发者ID:alancnet,项目名称:artifactory,代码行数:30,代码来源:ProxyPreemptiveAuthInterceptor.java

示例7: process

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
@Override
public void process(HttpRequest request, HttpContext context) throws HttpException, IOException {
    HttpClientContext clientContext = HttpClientContext.adapt(context);
    AuthState proxyAuthState = clientContext.getProxyAuthState();

    // If there's no auth scheme available yet, try to initialize it preemptively
    if (proxyAuthState.getAuthScheme() == null) {
        CredentialsProvider credsProvider = clientContext.getCredentialsProvider();
        RouteInfo route = clientContext.getHttpRoute();
        if (route == null) {
            if (log.isDebugEnabled()) {
                log.debug("No route found for {}", clientContext.getTargetHost());
            }
            return;
        }

        HttpHost proxyHost = route.getProxyHost();
        if (proxyHost == null) {
            log.warn("No proxy host found in route {} for host {}", route, clientContext.getTargetHost());
            return;
        }

        Credentials creds = credsProvider.getCredentials(
                new AuthScope(proxyHost.getHostName(), proxyHost.getPort()));
        if (creds == null) {
            log.info("No credentials found for proxy: " + proxyHost);
            return;
        }
        proxyAuthState.update(new BasicScheme(ChallengeState.PROXY), creds);
    }
}
 
开发者ID:bintray,项目名称:bintray-client-java,代码行数:32,代码来源:HttpClientConfigurator.java

示例8: getHttpRoute

import org.apache.http.conn.routing.RouteInfo; //导入依赖的package包/类
public RouteInfo getHttpRoute() {
    return getAttribute(HTTP_ROUTE, HttpRoute.class);
}
 
开发者ID:xxonehjh,项目名称:remote-files-sync,代码行数:4,代码来源:HttpClientContext.java


注:本文中的org.apache.http.conn.routing.RouteInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。