public List<NetworkAddress> returnNetworkAddresses(InstanceInfo instanceInfo) { List<NetworkAddress> addresses = new ArrayList<>(); Iterator<ServiceEndpoint> it = returnServiceEndpoints(instanceInfo); while (it.hasNext()) { addresses.add(it.next().getAddress()); } return addresses; }
@Override protected boolean matches(String value, ServiceEndpoint endpoint) { return value.equals(endpoint.getAddress().getLabel()); } }
private static Observable<Void> redirectTo(InstanceInfo readServerInfo, HttpServerRequest<ByteBuf> request, HttpServerResponse<ByteBuf> response) { ServiceEndpoint serviceEndpoint = HTTP_PUBLIC_SERVICE_SELECTOR.returnServiceEndpoint(readServerInfo); String redirectHost = serviceEndpoint == null ? null : serviceEndpoint.getAddress().getHostName(); if(redirectHost == null) { serviceEndpoint = HTTP_PRIVATE_SERVICE_SELECTOR.returnServiceEndpoint(readServerInfo); redirectHost = serviceEndpoint.getAddress().getIpAddress(); } StringBuilder redirectBuilder = new StringBuilder("http://") .append(redirectHost) .append(':') .append(serviceEndpoint.getServicePort().getPort()) .append(request.getPath()); if (request.getQueryString() != null) { redirectBuilder.append('?').append(request.getQueryString()); } response.getHeaders().add(Names.LOCATION, redirectBuilder.toString()); response.setStatus(HttpResponseStatus.FOUND); return Observable.empty(); } }
@Override protected boolean matches(Boolean value, ServiceEndpoint endpoint) { String ipAddress = endpoint.getAddress().getIpAddress(); if (ipAddress == null) { return false; } return SystemUtil.isPublic(ipAddress) == value; } }
@Override protected boolean matches(ProtocolType value, ServiceEndpoint endpoint) { return endpoint.getAddress().getProtocolType() == value; } }
public NetworkAddress returnNetworkAddress(InstanceInfo instanceInfo) { ServiceEndpoint endpoint = returnServiceEndpoint(instanceInfo); return endpoint != null ? endpoint.getAddress() : null; }
public InetSocketAddress returnServiceAddress(InstanceInfo instanceInfo) { ServiceEndpoint endpoint = returnServiceEndpoint(instanceInfo); if (endpoint == null) { return null; } String address = endpoint.getAddress().getHostName(); if (address == null) { address = endpoint.getAddress().getIpAddress(); } return new InetSocketAddress(address, endpoint.getServicePort().getPort()); }