private InetSocketAddress remoteAddress(Request request, Uri uri, ProxyServer proxy, boolean useProxy) throws UnknownHostException { InetAddress address; int port = getDefaultPort(uri); if (request.getInetAddress() != null) { address = request.getInetAddress(); } else if (!useProxy || avoidProxy(proxy, uri.getHost())) { address = request.getNameResolver().resolve(uri.getHost()); } else { address = request.getNameResolver().resolve(proxy.getHost()); port = proxy.getPort(); } return new InetSocketAddress(address, port); }
private InetSocketAddress remoteAddress(Request request, Uri uri, ProxyServer proxy, boolean useProxy) throws UnknownHostException { InetAddress address; int port = getDefaultPort(uri); if (request.getInetAddress() != null) { address = request.getInetAddress(); } else if (!useProxy || avoidProxy(proxy, uri.getHost())) { address = request.getNameResolver().resolve(uri.getHost()); } else { address = request.getNameResolver().resolve(proxy.getHost()); port = proxy.getPort(); } return new InetSocketAddress(address, port); }
public ChannelConnector(Request request, ProxyServer proxy, boolean useProxy, AsyncHandler<?> asyncHandler) throws UnknownHostException { this.asyncHandlerExtensions = asyncHandler instanceof AsyncHandlerExtensions ? (AsyncHandlerExtensions) asyncHandler : null; NameResolution[] resolutions; Uri uri = request.getUri(); int port = uri.getExplicitPort(); if (request.getInetAddress() != null) { resolutions = new NameResolution[] { new NameResolution(request.getInetAddress()) }; } else if (!useProxy || ignoreProxy(proxy, uri.getHost())) { resolutions = request.getNameResolver().resolve(uri.getHost()); } else { resolutions = request.getNameResolver().resolve(proxy.getHost()); port = uri.isSecured() ? proxy.getSecuredPort(): proxy.getPort(); } if (asyncHandlerExtensions != null) asyncHandlerExtensions.onDnsResolved(resolutions); remoteAddresses = new InetSocketAddress[resolutions.length]; for (int i = 0; i < resolutions.length; i ++) { remoteAddresses[i] = new InetSocketAddress(resolutions[i].address, port); } if (request.getLocalAddress() != null) { localAddress = new InetSocketAddress(request.getLocalAddress(), 0); } else { localAddress = null; } }