@Nullable private static SslContext findDefaultSslContext(VirtualHost defaultVirtualHost, List<VirtualHost> virtualHosts) { SslContext lastSslContext = null; for (VirtualHost h : virtualHosts) { if (h.sslContext() != null) { lastSslContext = h.sslContext(); } } if (defaultVirtualHost.sslContext() != null) { lastSslContext = defaultVirtualHost.sslContext(); } return lastSslContext; }
private VirtualHost normalizeDefaultVirtualHost(VirtualHost h, @Nullable SslContext defaultSslContext) { final SslContext sslCtx = h.sslContext() != null ? h.sslContext() : defaultSslContext; return new VirtualHost( h.defaultHostname(), "*", sslCtx, h.serviceConfigs().stream().map( e -> new ServiceConfig(e.pathMapping(), e.service(), e.loggerName().orElse(null))) .collect(Collectors.toList()), h.producibleMediaTypes(), rejectedPathMappingHandler, host -> h.accessLogger()); }
VirtualHost decorate(@Nullable Function<Service<HttpRequest, HttpResponse>, Service<HttpRequest, HttpResponse>> decorator) { if (decorator == null) { return this; } final List<ServiceConfig> services = this.services.stream().map(cfg -> { final PathMapping pathMapping = cfg.pathMapping(); final Service<HttpRequest, HttpResponse> service = decorator.apply(cfg.service()); final String loggerName = cfg.loggerName().orElse(null); return new ServiceConfig(pathMapping, service, loggerName); }).collect(Collectors.toList()); return new VirtualHost(defaultHostname(), hostnamePattern(), sslContext(), services, producibleMediaTypes()); }
@Override public String toString() { String strVal = this.strVal; if (strVal == null) { this.strVal = strVal = toString( getClass(), defaultHostname(), hostnamePattern(), sslContext(), serviceConfigs()); } return strVal; }
virtualHosts.forEach(c -> { buf.append(VirtualHost.toString(null, c.defaultHostname(), c.hostnamePattern(), c.sslContext(), c.serviceConfigs())); buf.append(", "); }); defaultVirtualHost.sslContext(), defaultVirtualHost.serviceConfigs())); } else { defaultVirtualHost.sslContext(), defaultVirtualHost.serviceConfigs()));
mappingBuilder = new DomainNameMappingBuilder<>(defaultSslContext); for (VirtualHost h : virtualHosts) { final SslContext sslCtx = h.sslContext(); if (sslCtx != null) { mappingBuilder.add(h.hostnamePattern(), sslCtx);