org.asynchttpclient.uri.Uri.isSecured()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(10.5k)|赞(0)|评价(0)|浏览(107)

本文整理了Java中org.asynchttpclient.uri.Uri.isSecured()方法的一些代码示例,展示了Uri.isSecured()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Uri.isSecured()方法的具体详情如下:
包路径:org.asynchttpclient.uri.Uri
类名称:Uri
方法名:isSecured

Uri.isSecured介绍

暂无

代码示例

代码示例来源:origin: AsyncHttpClient/async-http-client

public int getSchemeDefaultPort() {
 return isSecured() ? 443 : 80;
}

代码示例来源:origin: AsyncHttpClient/async-http-client

public static String originHeader(Uri uri) {
 StringBuilder sb = StringBuilderPool.DEFAULT.stringBuilder();
 sb.append(uri.isSecured() ? "https://" : "http://").append(uri.getHost());
 if (uri.getExplicitPort() != uri.getSchemeDefaultPort()) {
  sb.append(':').append(uri.getPort());
 }
 return sb.toString();
}

代码示例来源:origin: AsyncHttpClient/async-http-client

@Override
public List<Cookie> get(Uri uri) {
 return get(requestDomain(uri), requestPath(uri), uri.isSecured());
}

代码示例来源:origin: AsyncHttpClient/async-http-client

private String requestUri(Uri uri, ProxyServer proxyServer, boolean connect) {
 if (connect) {
  // proxy tunnelling, connect need host and explicit port
  return uri.getAuthority();
 } else if (proxyServer != null && !uri.isSecured() && proxyServer.getProxyType().isHttp()) {
  // proxy over HTTP, need full url
  return uri.toUrl();
 } else {
  // direct connection to target host or tunnel already connected: only path and query
  return uri.toRelativeUrl();
 }
}

代码示例来源:origin: AsyncHttpClient/async-http-client

public Future<Channel> updatePipelineForHttpTunneling(ChannelPipeline pipeline, Uri requestUri) {
 Future<Channel> whenHanshaked = null;
 if (pipeline.get(HTTP_CLIENT_CODEC) != null)
  pipeline.remove(HTTP_CLIENT_CODEC);
 if (requestUri.isSecured()) {
  if (!isSslHandlerConfigured(pipeline)) {
   SslHandler sslHandler = createSslHandler(requestUri.getHost(), requestUri.getExplicitPort());
   whenHanshaked = sslHandler.handshakeFuture();
   pipeline.addBefore(INFLATER_HANDLER, SSL_HANDLER, sslHandler);
  }
  pipeline.addAfter(SSL_HANDLER, HTTP_CLIENT_CODEC, newHttpClientCodec());
 } else {
  pipeline.addBefore(AHC_HTTP_HANDLER, HTTP_CLIENT_CODEC, newHttpClientCodec());
 }
 if (requestUri.isWebSocket()) {
  pipeline.addAfter(AHC_HTTP_HANDLER, AHC_WS_HANDLER, wsHandler);
  pipeline.remove(AHC_HTTP_HANDLER);
 }
 return whenHanshaked;
}

代码示例来源:origin: AsyncHttpClient/async-http-client

private <T> Future<List<InetSocketAddress>> resolveAddresses(Request request,
                               ProxyServer proxy,
                               NettyResponseFuture<T> future,
                               AsyncHandler<T> asyncHandler) {
 Uri uri = request.getUri();
 final Promise<List<InetSocketAddress>> promise = ImmediateEventExecutor.INSTANCE.newPromise();
 if (proxy != null && !proxy.isIgnoredForHost(uri.getHost()) && proxy.getProxyType().isHttp()) {
  int port = uri.isSecured() ? proxy.getSecuredPort() : proxy.getPort();
  InetSocketAddress unresolvedRemoteAddress = InetSocketAddress.createUnresolved(proxy.getHost(), port);
  scheduleRequestTimeout(future, unresolvedRemoteAddress);
  return RequestHostnameResolver.INSTANCE.resolve(request.getNameResolver(), unresolvedRemoteAddress, asyncHandler);
 } else {
  int port = uri.getExplicitPort();
  InetSocketAddress unresolvedRemoteAddress = InetSocketAddress.createUnresolved(uri.getHost(), port);
  scheduleRequestTimeout(future, unresolvedRemoteAddress);
  if (request.getAddress() != null) {
   // bypass resolution
   InetSocketAddress inetSocketAddress = new InetSocketAddress(request.getAddress(), port);
   return promise.setSuccess(singletonList(inetSocketAddress));
  } else {
   return RequestHostnameResolver.INSTANCE.resolve(request.getNameResolver(), unresolvedRemoteAddress, asyncHandler);
  }
 }
}

代码示例来源:origin: AsyncHttpClient/async-http-client

if (!uri.isSecured() || connect) {
 setProxyAuthorizationHeader(headers, perRequestProxyAuthorizationHeader(request, proxyRealm));

代码示例来源:origin: AsyncHttpClient/async-http-client

public Object getPartitionKey(Uri uri, String virtualHost, ProxyServer proxyServer) {
  String targetHostBaseUrl = uri.getBaseUrl();
  if (proxyServer == null) {
   if (virtualHost == null) {
    return targetHostBaseUrl;
   } else {
    return new CompositePartitionKey(
        targetHostBaseUrl,
        virtualHost,
        null,
        0,
        null);
   }
  } else {
   return new CompositePartitionKey(
       targetHostBaseUrl,
       virtualHost,
       proxyServer.getHost(),
       uri.isSecured() && proxyServer.getProxyType() == ProxyType.HTTP ?
           proxyServer.getSecuredPort() :
           proxyServer.getPort(),
       proxyServer.getProxyType());
  }
 }
}

代码示例来源:origin: AsyncHttpClient/async-http-client

public <T> ListenableFuture<T> sendRequest(final Request request,
                      final AsyncHandler<T> asyncHandler,
                      NettyResponseFuture<T> future) {
 if (isClosed()) {
  throw new IllegalStateException("Closed");
 }
 validateWebSocketRequest(request, asyncHandler);
 ProxyServer proxyServer = getProxyServer(config, request);
 // WebSockets use connect tunneling to work with proxies
 if (proxyServer != null
     && proxyServer.getProxyType().isHttp()
     && (request.getUri().isSecured() || request.getUri().isWebSocket())
     && !isConnectAlreadyDone(request, future)) {
  // Proxy with HTTPS or WebSocket: CONNECT for sure
  if (future != null && future.isConnectAllowed()) {
   // Perform CONNECT
   return sendRequestWithCertainForceConnect(request, asyncHandler, future, proxyServer, true);
  } else {
   // CONNECT will depend if we can pool or connection or if we have to open a new one
   return sendRequestThroughProxy(request, asyncHandler, future, proxyServer);
  }
 } else {
  // no CONNECT for sure
  return sendRequestWithCertainForceConnect(request, asyncHandler, future, proxyServer, false);
 }
}

代码示例来源:origin: AsyncHttpClient/async-http-client

if ((proxyServer == null || proxyServer.getProxyType().isSocks()) && uri.isSecured()) {
 SslHandler sslHandler;
 try {

代码示例来源:origin: AsyncHttpClient/async-http-client

if (future.getCurrentRequest().getUri().isSecured()) {
 nextRequestBuilder.setMethod(CONNECT);

代码示例来源:origin: AsyncHttpClient/async-http-client

@Test
public void multipleConcurrentPostRequestsOverHttpsWithDisabledKeepAliveStrategy() throws Throwable {
 logger.debug(">>> multipleConcurrentPostRequestsOverHttpsWithDisabledKeepAliveStrategy");
 KeepAliveStrategy keepAliveStrategy = (ahcRequest, nettyRequest, nettyResponse) -> !ahcRequest.getUri().isSecured();
 withClient(config().setSslEngineFactory(createSslEngineFactory()).setKeepAliveStrategy(keepAliveStrategy)).run(client ->
  withServer(server).run(server -> {
   server.enqueueEcho();
   server.enqueueEcho();
   server.enqueueEcho();
   String body = "hello there";
   client.preparePost(getTargetUrl()).setBody(body).setHeader(CONTENT_TYPE, "text/html").execute();
   client.preparePost(getTargetUrl()).setBody(body).setHeader(CONTENT_TYPE, "text/html").execute();
   Response response = client.preparePost(getTargetUrl()).setBody(body).setHeader(CONTENT_TYPE, "text/html").execute().get();
   assertEquals(response.getResponseBody(), body);
  }));
 logger.debug("<<< multipleConcurrentPostRequestsOverHttpsWithDisabledKeepAliveStrategy");
}

代码示例来源:origin: org.asynchttpclient/async-http-client-api

public int getSchemeDefaultPort() {
  return isSecured() ? 443 : 80;
}

代码示例来源:origin: org.asynchttpclient/async-http-client-api

public boolean useProxyConnect() {
  return isSecured() || isWebSocket();
}

代码示例来源:origin: org.asynchttpclient/async-http-client-netty4

/**
 * Always make sure the channel who got cached support the proper protocol.
 * It could only occurs when a HttpMethod. CONNECT is used against a proxy
 * that requires upgrading from http to https.
 */
public void verifyChannelPipeline(ChannelPipeline pipeline, Uri uri, String virtualHost) throws GeneralSecurityException {
  boolean sslHandlerConfigured = isSslHandlerConfigured(pipeline);
  if (uri.isSecured()) {
    if (!sslHandlerConfigured)
      addSslHandler(pipeline, uri, virtualHost);
  } else if (sslHandlerConfigured)
    pipeline.remove(SSL_HANDLER);
}

代码示例来源:origin: org.asynchttpclient/async-http-client-netty3

public void verifyChannelPipeline(ChannelPipeline pipeline, Uri uri, String virtualHost) throws GeneralSecurityException {
  boolean sslHandlerConfigured = isSslHandlerConfigured(pipeline);
  if (uri.isSecured()) {
    if (!sslHandlerConfigured) {
      addSslHandler(pipeline, uri, virtualHost);
    }
  } else if (sslHandlerConfigured)
    pipeline.remove(SSL_HANDLER);
}

代码示例来源:origin: org.asynchttpclient/async-http-client-api

public Object getPartitionKey(Uri uri, String virtualHost, ProxyServer proxyServer) {
    String targetHostBaseUrl = virtualHost != null ? virtualHost : AsyncHttpProviderUtils.getBaseUrl(uri);
    if (proxyServer != null) {
      return uri.isSecured() ? //
      new ProxyPartitionKey(proxyServer.getHost(), proxyServer.getSecuredPort(), true, targetHostBaseUrl)
          : new ProxyPartitionKey(proxyServer.getHost(), proxyServer.getPort(), false, targetHostBaseUrl);
    } else {
      return targetHostBaseUrl;
    }
  }
}

代码示例来源:origin: org.asynchttpclient/async-http-client-netty4

public void upgradeProtocol(ChannelPipeline pipeline, Uri requestUri) throws GeneralSecurityException {
  if (pipeline.get(HTTP_HANDLER) != null)
    pipeline.remove(HTTP_HANDLER);
  if (requestUri.isSecured())
    if (isSslHandlerConfigured(pipeline)) {
      pipeline.addAfter(SSL_HANDLER, HTTP_HANDLER, newHttpClientCodec());
    } else {
      pipeline.addFirst(HTTP_HANDLER, newHttpClientCodec());
      pipeline.addFirst(SSL_HANDLER, createSslHandler(requestUri.getHost(), requestUri.getExplicitPort()));
    }
  else
    pipeline.addFirst(HTTP_HANDLER, newHttpClientCodec());
  if (requestUri.isWebSocket()) {
    pipeline.addAfter(HTTP_PROCESSOR, WS_PROCESSOR, wsProcessor);
    pipeline.remove(HTTP_PROCESSOR);
  }
}

代码示例来源:origin: org.asynchttpclient/async-http-client-netty4

private void onFutureSuccess(final Channel channel) throws Exception {
  
  Request request = future.getRequest();
  Uri uri = request.getUri();
  // in case of proxy tunneling, we'll add the SslHandler later, after the CONNECT request
  if (future.getProxyServer() == null && uri.isSecured()) {
    SslHandler sslHandler = channelManager.addSslHandler(channel.pipeline(), uri, request.getVirtualHost());
    sslHandler.handshakeFuture().addListener(new GenericFutureListener<Future<Channel>>() {
      @Override
      public void operationComplete(Future<Channel> handshakeFuture) throws Exception {
               if (handshakeFuture.isSuccess()) {
          final AsyncHandler<T> asyncHandler = future.getAsyncHandler();
          if (asyncHandler instanceof AsyncHandlerExtensions)
            AsyncHandlerExtensions.class.cast(asyncHandler).onSslHandshakeCompleted();
          writeRequest(channel);
        } else {
          onFutureFailure(channel, handshakeFuture.cause());
        }
      }
    });
  
  } else {
    writeRequest(channel);
  }
}

代码示例来源:origin: org.asynchttpclient/async-http-client-netty3

public void upgradeProtocol(ChannelPipeline pipeline, Uri requestUri) throws GeneralSecurityException {
  if (pipeline.get(HTTP_HANDLER) != null)
    pipeline.remove(HTTP_HANDLER);
  if (requestUri.isSecured())
    if (isSslHandlerConfigured(pipeline)) {
      pipeline.addAfter(SSL_HANDLER, HTTP_HANDLER, newHttpClientCodec());
    } else {
      pipeline.addFirst(HTTP_HANDLER, newHttpClientCodec());
      pipeline.addFirst(SSL_HANDLER, createSslHandler(requestUri.getHost(), requestUri.getExplicitPort()));
    }
  else
    pipeline.addFirst(HTTP_HANDLER, newHttpClientCodec());
  if (requestUri.isWebSocket()) {
    pipeline.addAfter(HTTP_PROCESSOR, WS_PROCESSOR, wsProcessor);
    pipeline.remove(HTTP_PROCESSOR);
  }
}

相关文章