/** * Returns the hostname of the default {@link VirtualHost}, which is the hostname of the machine unless * configured explicitly via {@link ServerBuilder#defaultVirtualHost(VirtualHost)}. */ public String defaultHostname() { return config().defaultVirtualHost().defaultHostname(); }
@Override public ExecutorService blockingTaskExecutor() { if (blockingTaskExecutor != null) { return blockingTaskExecutor; } return blockingTaskExecutor = makeContextAware(server().config().blockingTaskExecutor()); }
/** * Adds an HTTP port that listens on all available network interfaces. * * @param port the HTTP port number. * * @see #http(InetSocketAddress) * @see <a href="#no_port_specified">What happens if no HTTP(S) port is specified?</a> */ public ServerBuilder http(int port) { return port(new ServerPort(port, HTTP)); }
private static Service<?, ?> service(ServerBuilder sb) { final Server server = sb.build(); return server.config().defaultVirtualHost().serviceConfigs().get(0).service(); }
@Override public ExecutorService blockingTaskExecutor() { return delegate().blockingTaskExecutor(); }
/** * Returns the {@link MeterRegistry} that collects various stats. */ public MeterRegistry meterRegistry() { return config().meterRegistry(); }
/** * Returns the {@link Server} the {@link #service()} belongs to. */ public Server server() { return virtualHost().server(); }
/** * Sets the {@link SslContext} of the default {@link VirtualHost}. * * @throws IllegalStateException if the default {@link VirtualHost} has been set via * {@link #defaultVirtualHost(VirtualHost)} already */ public ServerBuilder tls(SslContext sslContext) { defaultVirtualHostBuilderUpdated(); defaultVirtualHostBuilder.tls(sslContext); return this; }
/** * Binds the specified {@link Service} under the specified directory of the default {@link VirtualHost}. * * @throws IllegalStateException if the default {@link VirtualHost} has been set via * {@link #defaultVirtualHost(VirtualHost)} already */ public ServerBuilder serviceUnder(String pathPrefix, Service<HttpRequest, HttpResponse> service) { defaultVirtualHostBuilderUpdated(); defaultVirtualHostBuilder.serviceUnder(pathPrefix, service); return this; }
/** * Binds the specified {@link Service} at the specified {@link PathMapping} of the default * {@link VirtualHost}. * * @throws IllegalStateException if the default {@link VirtualHost} has been set via * {@link #defaultVirtualHost(VirtualHost)} already */ public ServerBuilder service(PathMapping pathMapping, Service<HttpRequest, HttpResponse> service) { defaultVirtualHostBuilderUpdated(); defaultVirtualHostBuilder.service(pathMapping, service); return this; }
@Override public ServiceRequestContext newDerivedContext() { return delegate().newDerivedContext(); }
@Override public PathMappingContext pathMappingContext() { return delegate().pathMappingContext(); }
@Override public long maxRequestLength() { return delegate().maxRequestLength(); }
@Override public void addAdditionalResponseHeaders(Headers<? extends AsciiString, ? extends String, ?> headers) { delegate().addAdditionalResponseHeaders(headers); }
@Override public void setAdditionalResponseTrailer(AsciiString name, String value) { delegate().setAdditionalResponseTrailer(name, value); }
/** * Adds an HTTPS port that listens on all available network interfaces. * * @param port the HTTPS port number. * * @see #https(InetSocketAddress) * @see <a href="#no_port_specified">What happens if no HTTP(S) port is specified?</a> */ public ServerBuilder https(int port) { return port(new ServerPort(port, HTTPS)); }
/** * Configures SSL or TLS of the default {@link VirtualHost} from the specified {@code keyCertChainFile} * and cleartext {@code keyFile}. * * @throws IllegalStateException if the default {@link VirtualHost} has been set via * {@link #defaultVirtualHost(VirtualHost)} already */ public ServerBuilder tls(File keyCertChainFile, File keyFile) throws SSLException { defaultVirtualHostBuilderUpdated(); defaultVirtualHostBuilder.tls(keyCertChainFile, keyFile); return this; }