Example usage for org.apache.http.impl.conn InMemoryDnsResolver InMemoryDnsResolver

List of usage examples for org.apache.http.impl.conn InMemoryDnsResolver InMemoryDnsResolver

Introduction

In this page you can find the example usage for org.apache.http.impl.conn InMemoryDnsResolver InMemoryDnsResolver.

Prototype

public InMemoryDnsResolver() 

Source Link

Document

Builds a DNS resolver that will resolve the host names against a collection held in-memory.

Usage

From source file:com.linecorp.armeria.server.SniServerTest.java

@Override
protected void configureServer(ServerBuilder sb) throws Exception {
    dnsResolver = new InMemoryDnsResolver();
    dnsResolver.add("a.com", NetUtil.LOCALHOST4);
    dnsResolver.add("b.com", NetUtil.LOCALHOST4);
    dnsResolver.add("c.com", NetUtil.LOCALHOST4);
    dnsResolver.add("mismatch.com", NetUtil.LOCALHOST4);
    dnsResolver.add("127.0.0.1", NetUtil.LOCALHOST4);

    sscA = new SelfSignedCertificate("a.com");
    sscB = new SelfSignedCertificate("b.com");
    sscC = new SelfSignedCertificate("c.com");

    final VirtualHostBuilder a = new VirtualHostBuilder("a.com");
    final VirtualHostBuilder b = new VirtualHostBuilder("b.com");
    final VirtualHostBuilder c = new VirtualHostBuilder("c.com");

    a.serviceAt("/", new AbstractHttpService() {
        @Override/*from  w ww  .j a va 2 s  . co m*/
        protected void doGet(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) {
            res.respond(HttpStatus.OK, MediaType.PLAIN_TEXT_UTF_8, "a.com");
        }
    });

    b.serviceAt("/", new AbstractHttpService() {
        @Override
        protected void doGet(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) {
            res.respond(HttpStatus.OK, MediaType.PLAIN_TEXT_UTF_8, "b.com");
        }
    });

    c.serviceAt("/", new AbstractHttpService() {
        @Override
        protected void doGet(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) {
            res.respond(HttpStatus.OK, MediaType.PLAIN_TEXT_UTF_8, "c.com");
        }
    });

    a.sslContext(SessionProtocol.HTTPS, sscA.certificate(), sscA.privateKey());
    b.sslContext(SessionProtocol.HTTPS, sscB.certificate(), sscB.privateKey());
    c.sslContext(SessionProtocol.HTTPS, sscC.certificate(), sscC.privateKey());

    sb.virtualHost(a.build());
    sb.virtualHost(b.build());
    sb.defaultVirtualHost(c.build());

    sb.port(0, SessionProtocol.HTTPS);
}