package org.onap.dmaap.dbcapi.server;
-import com.google.common.collect.Sets;
+import jakarta.servlet.DispatcherType;
+import java.util.EnumSet;
import java.util.Properties;
-import javax.servlet.DispatcherType;
import org.eclipse.jetty.http.HttpVersion;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
new CertficateManagerFactory(DmaapConfig.getConfig()).initCertificateManager();
private final Server server;
-
public Server getServer() {
return server;
}
}
public JettyServer(Properties params) {
-
server = new Server();
int httpPort = Integer.parseInt(params.getProperty("IntHttpPort", "80"));
int sslPort = Integer.parseInt(params.getProperty("IntHttpsPort", "443"));
boolean allowHttp = Boolean.parseBoolean(params.getProperty("HttpAllowed", "false"));
serverLogger.info("port params: http=" + httpPort + " https=" + sslPort);
serverLogger.info("allowHttp=" + allowHttp);
-
// HTTP Server
HttpConfiguration httpConfig = new HttpConfiguration();
httpConfig.setSecureScheme("https");
httpConfig.setSecurePort(sslPort);
httpConfig.setOutputBufferSize(32768);
-
try (ServerConnector httpConnector = new ServerConnector(server, new HttpConnectionFactory(httpConfig))) {
httpConnector.setPort(httpPort);
httpConnector.setIdleTimeout(30000);
-
// HTTPS Server
HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig);
httpsConfig.addCustomizer(new SecureRequestCustomizer());
- SslContextFactory sslContextFactory = new SslContextFactory.Server();
+ SslContextFactory.Server sslContextFactory = new SslContextFactory.Server();
sslContextFactory.setWantClientAuth(true);
-
- if ( ! certificateManager.isReady()) {
+ if (!certificateManager.isReady()) {
serverLogger.error("CertificateManager is not ready. NOT starting https!");
} else {
setUpKeystore(sslContextFactory);
setUpTrustStore(sslContextFactory);
-
-
if (sslPort != 0) {
try (ServerConnector sslConnector = new ServerConnector(server,
new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()),
serverLogger.info("NOT starting httpConnector because HttpAllowed param is " + allowHttp);
}
}
-
// Set context for servlet. This is shared for http and https
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
.addServlet(org.glassfish.jersey.servlet.ServletContainer.class, "/webapi/*");
jerseyServlet.setInitOrder(1);
jerseyServlet.setInitParameter("jersey.config.server.provider.packages", "org.onap.dmaap.dbcapi.resources");
- jerseyServlet.setInitParameter("javax.ws.rs.Application", "org.onap.dmaap.dbcapi.server.ApplicationConfig");
+ jerseyServlet.setInitParameter("jakarta.ws.rs.Application", "org.onap.dmaap.dbcapi.server.ApplicationConfig");
// also serve up some static pages...
ServletHolder staticServlet = context.addServlet(DefaultServlet.class, "/*");
staticServlet.setInitParameter("resourceBase", "www");
staticServlet.setInitParameter("pathInfoOnly", "true");
- registerAuthFilters(context);
+ if (Boolean.parseBoolean(params.getProperty("enableCADI", "false"))) {
+ registerAuthFilters(context);
+ }
try {
-
serverLogger.info("Starting jetty server");
String unitTest = params.getProperty("UnitTest", "No");
serverLogger.info("UnitTest=" + unitTest);
} finally {
server.destroy();
}
-
}
private void registerAuthFilters(ServletContextHandler context) {
- context.addFilter("org.onap.dmaap.dbcapi.resources.AAFAuthenticationFilter", "/webapi/*",
- Sets.newEnumSet(Sets.newHashSet(DispatcherType.FORWARD, DispatcherType.REQUEST), DispatcherType.class));
- context.addFilter("org.onap.dmaap.dbcapi.resources.AAFAuthorizationFilter", "/webapi/*",
- Sets.newEnumSet(Sets.newHashSet(DispatcherType.FORWARD, DispatcherType.REQUEST), DispatcherType.class));
+ context.addFilter("org.onap.dmaap.dbcapi.resources.AAFAuthenticationFilter", "/webapi/*", EnumSet.of(
+ DispatcherType.FORWARD, DispatcherType.REQUEST));
+ context.addFilter("org.onap.dmaap.dbcapi.resources.AAFAuthorizationFilter", "/webapi/*", EnumSet.of(
+ DispatcherType.FORWARD, DispatcherType.REQUEST));
}
private void setUpKeystore(SslContextFactory sslContextFactory) {