本文整理了Java中org.asynchttpclient.uri.Uri.isSecured()
方法的一些代码示例,展示了Uri.isSecured()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Uri.isSecured()
方法的具体详情如下:
包路径:org.asynchttpclient.uri.Uri
类名称: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!