Example usage for org.apache.http.conn DnsResolver resolve

List of usage examples for org.apache.http.conn DnsResolver resolve

Introduction

In this page you can find the example usage for org.apache.http.conn DnsResolver resolve.

Prototype

InetAddress[] resolve(String host) throws UnknownHostException;

Source Link

Document

Returns the IP address for the specified host name, or null if the given host is not recognized or the associated IP address cannot be used to build an InetAddress instance.

Usage

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());

}