List of usage examples for org.apache.http.conn DnsResolver resolve
InetAddress[] resolve(String host) throws UnknownHostException;
From source file:com.spotify.helios.client.Endpoints.java
/** * Returns a list of {@link Endpoint}./* www . j ava 2 s . c om*/ * @param uris A list of URIs. * @param dnsResolver An instance of {@link DnsResolver} * @return A list of Endpoints. */ static List<Endpoint> of(final List<URI> uris, final DnsResolver dnsResolver) { final ImmutableList.Builder<Endpoint> endpoints = ImmutableList.builder(); for (final URI uri : uris) { try { for (final InetAddress ip : dnsResolver.resolve(uri.getHost())) { endpoints.add(new DefaultEndpoint(uri, ip)); } } catch (UnknownHostException e) { log.warn("Unable to resolve hostname {} into IP address: {}", uri.getHost(), e); } } return endpoints.build(); }
From source file:com.spotify.helios.client.EndpointsTest.java
@Test public void testInvalidUri_NoScheme() throws Exception { final DnsResolver resolver = mock(DnsResolver.class); when(resolver.resolve("example.com")).thenReturn(IPS_1); exception.expect(IllegalArgumentException.class); Endpoints.of(ImmutableList.of(new URI(null, "example.com", null, null)), resolver); }
From source file:com.spotify.helios.client.EndpointsTest.java
@Test public void testInvalidUri_NoPort() throws Exception { final DnsResolver resolver = mock(DnsResolver.class); when(resolver.resolve("example.com")).thenReturn(IPS_1); exception.expect(IllegalArgumentException.class); Endpoints.of(ImmutableList.of(new URI("http", "example.com", null, null)), resolver); }
From source file:com.spotify.helios.client.EndpointsTest.java
@Test public void testUnableToResolve() throws Exception { final DnsResolver resolver = mock(DnsResolver.class); when(resolver.resolve("example.com")).thenThrow(new UnknownHostException()); when(resolver.resolve("example.net")).thenThrow(new UnknownHostException()); final List<Endpoint> endpoints = Endpoints.of(uris, resolver); assertThat(endpoints.size(), equalTo(0)); }
From source file:com.spotify.helios.client.EndpointsTest.java
@Test public void testFactory() throws Exception { final DnsResolver resolver = mock(DnsResolver.class); when(resolver.resolve("example.com")).thenReturn(IPS_1); when(resolver.resolve("example.net")).thenReturn(IPS_2); final List<Endpoint> endpoints = Endpoints.of(uris, resolver); assertThat(endpoints.size(), equalTo(4)); assertThat(endpoints.get(0).getUri(), equalTo(uri1)); assertThat(endpoints.get(0).getIp(), equalTo(IP_A)); assertThat(endpoints.get(1).getUri(), equalTo(uri1)); assertThat(endpoints.get(1).getIp(), equalTo(IP_B)); assertThat(endpoints.get(2).getUri(), equalTo(uri2)); assertThat(endpoints.get(2).getIp(), equalTo(IP_C)); assertThat(endpoints.get(3).getUri(), equalTo(uri2)); assertThat(endpoints.get(3).getIp(), equalTo(IP_D)); }
From source file:com.spotify.helios.client.EndpointsTest.java
@Test public void testSupplierFactory() throws Exception { final DnsResolver resolver = mock(DnsResolver.class); when(resolver.resolve("example.com")).thenReturn(IPS_1); when(resolver.resolve("example.net")).thenReturn(IPS_2); final Supplier<List<URI>> uriSupplier = Suppliers.ofInstance(uris); final Supplier<List<Endpoint>> endpointSupplier = Endpoints.of(uriSupplier, resolver); final List<Endpoint> endpoints = endpointSupplier.get(); assertThat(endpoints.size(), equalTo(4)); assertThat(endpoints.get(0).getUri(), equalTo(uri1)); assertThat(endpoints.get(0).getIp(), equalTo(IP_A)); assertThat(endpoints.get(1).getUri(), equalTo(uri1)); assertThat(endpoints.get(1).getIp(), equalTo(IP_B)); assertThat(endpoints.get(2).getUri(), equalTo(uri2)); assertThat(endpoints.get(2).getIp(), equalTo(IP_C)); assertThat(endpoints.get(3).getUri(), equalTo(uri2)); assertThat(endpoints.get(3).getIp(), equalTo(IP_D)); }
From source file:com.amazonaws.http.DelegatingDnsResolverTest.java
@Test public void testDelegatingDnsResolverCallsResolveOnDelegate() throws Exception { final AtomicInteger timesCalled = new AtomicInteger(); DnsResolver delegate = new DnsResolver() { @Override// w w w . j av a 2 s . co m public InetAddress[] resolve(String host) throws UnknownHostException { timesCalled.incrementAndGet(); return new InetAddress[0]; } }; org.apache.http.conn.DnsResolver resolver = new DelegatingDnsResolver(delegate); resolver.resolve("localhost"); assertEquals("Delegate Resolver should have been executed", 1, timesCalled.get()); }