
org.rootservices.otter.server.HttpServer Maven / Gradle / Ivy
package org.rootservices.otter.server;
import org.rootservices.otter.config.OtterAppFactory;
import org.rootservices.otter.server.container.ServletContainer;
import org.rootservices.otter.server.container.ServletContainerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
public class HttpServer {
private static final Logger logger = LoggerFactory.getLogger(HttpServer.class);
public static void run(HttpServerConfig config) {
ServletContainer server = makeServer(config);
try {
logger.info("server starting");
server.start();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
server.join();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
public static ServletContainer makeServer(HttpServerConfig config) {
OtterAppFactory otterAppFactory = new OtterAppFactory();
ServletContainerFactory servletContainerFactory = otterAppFactory.servletContainerFactory();
ServletContainer server = null;
try {
server = servletContainerFactory.makeServletContainer(
config.getDocumentRoot(), config.getClazz(), config.getPort(), config.getRequestLog(), config.getErrorPages()
);
} catch (URISyntaxException e) {
logger.error(e.getMessage(), e);
} catch (MalformedURLException e) {
logger.error(e.getMessage(), e);
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return server;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy