use of org.eclipse.jetty.servlet.ServletContextHandler in project nifi by apache.
the class WebSocketServerExample method setup.
@BeforeClass
public static void setup() throws Exception {
server = new Server(0);
final ContextHandlerCollection handlerCollection = new ContextHandlerCollection();
final ServletContextHandler contextHandler = new ServletContextHandler();
servletHandler = new ServletHandler();
contextHandler.insertHandler(servletHandler);
handlerCollection.setHandlers(new Handler[] { contextHandler });
server.setHandler(handlerCollection);
httpConnector = new ServerConnector(server);
httpConnector.setPort(50010);
final SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath("src/test/resources/certs/localhost-ks.jks");
sslContextFactory.setKeyStorePassword("localtest");
sslContextFactory.setKeyStoreType("JKS");
final HttpConfiguration https = new HttpConfiguration();
https.addCustomizer(new SecureRequestCustomizer());
sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(https));
sslConnector.setPort(50011);
server.setConnectors(new Connector[] { httpConnector, sslConnector });
servletHolder = servletHandler.addServletWithMapping(WSServlet.class, "/test");
servletHolder = servletHandler.addServletWithMapping(ConnectionCheckServlet.class, "/check");
server.start();
logger.info("Starting server on port {} for HTTP, and {} for HTTPS", httpConnector.getLocalPort(), sslConnector.getLocalPort());
}
use of org.eclipse.jetty.servlet.ServletContextHandler in project airlift by airlift.
the class TestHttpEventClient method createServer.
private Server createServer(final DummyServlet servlet) throws Exception {
int port;
try (ServerSocket socket = new ServerSocket()) {
socket.bind(new InetSocketAddress(0));
port = socket.getLocalPort();
}
baseUri = new URI("http", null, "127.0.0.1", port, null, null, null);
HttpConfiguration httpConfiguration = new HttpConfiguration();
httpConfiguration.setSendServerVersion(false);
httpConfiguration.setSendXPoweredBy(false);
server = new Server();
ServerConnector httpConnector = new ServerConnector(server, new HttpConnectionFactory(httpConfiguration));
httpConnector.setPort(port);
httpConnector.setName("http");
server.addConnector(httpConnector);
ServletHolder servletHolder = new ServletHolder(servlet);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
context.addServlet(servletHolder, "/*");
HandlerCollection handlers = new HandlerCollection();
handlers.addHandler(context);
server.setHandler(handlers);
return server;
}
use of org.eclipse.jetty.servlet.ServletContextHandler in project coprhd-controller by CoprHD.
the class TestWebServer method initServer.
/**
* Initialize server handlers, rest resources.
*
* @throws Exception
*/
private void initServer() throws Exception {
_server = new Server();
initConnectors();
// AuthN servlet filters
ServletContextHandler rootHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
rootHandler.setContextPath("/");
_server.setHandler(rootHandler);
((AbstractSessionManager) rootHandler.getSessionHandler().getSessionManager()).setUsingCookies(false);
// Add the REST resources
if (_app != null) {
ResourceConfig config = new DefaultResourceConfig();
config.add(_app);
Map<String, MediaType> type = config.getMediaTypeMappings();
type.put(MediaType.TEXT_PLAIN, MediaType.TEXT_PLAIN_TYPE);
rootHandler.addServlet(new ServletHolder(new ServletContainer(config)), "/*");
}
}
use of org.eclipse.jetty.servlet.ServletContextHandler in project JMRI by JMRI.
the class WebServer method registerResource.
/**
* Register a URL pattern to return resources from the file system. The
* filePath may start with any of the following:
* <ol>
* <li>{@link jmri.util.FileUtil#PREFERENCES}
* <li>{@link jmri.util.FileUtil#PROFILE}
* <li>{@link jmri.util.FileUtil#SETTINGS}
* <li>{@link jmri.util.FileUtil#PROGRAM}
* </ol>
* Note that the filePath can be overridden by an otherwise identical
* filePath starting with any of the portable paths above it in the
* preceding list.
*
* @param urlPattern the pattern to get resources for
* @param filePath the portable path for the resources
* @throws IllegalArgumentException if urlPattern is already registered to
* deny access or for a servlet or if
* filePath is not allowed
*/
public void registerResource(String urlPattern, String filePath) throws IllegalArgumentException {
if (this.registeredUrls.get(urlPattern) != null) {
throw new IllegalArgumentException("urlPattern \"" + urlPattern + "\" is already registered.");
}
this.registeredUrls.put(urlPattern, Registration.RESOURCE);
ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.NO_SECURITY);
servletContext.setContextPath(urlPattern);
HandlerList handlers = new HandlerList();
if (filePath.startsWith(FileUtil.PROGRAM) && !filePath.equals(FileUtil.PROGRAM)) {
// make it possible to override anything under program: with an identical path under preference:, profile:, or settings:
log.debug("Setting up handler chain for {}", urlPattern);
ResourceHandler preferenceHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.PROGRAM, FileUtil.PREFERENCES)));
ResourceHandler projectHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.PROGRAM, FileUtil.PROFILE)));
ResourceHandler settingsHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.PROGRAM, FileUtil.SETTINGS)));
ResourceHandler programHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath));
handlers.setHandlers(new Handler[] { preferenceHandler, projectHandler, settingsHandler, programHandler, new DefaultHandler() });
} else if (filePath.startsWith(FileUtil.SETTINGS) && !filePath.equals(FileUtil.SETTINGS)) {
// make it possible to override anything under settings: with an identical path under preference: or profile:
log.debug("Setting up handler chain for {}", urlPattern);
ResourceHandler preferenceHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.SETTINGS, FileUtil.PREFERENCES)));
ResourceHandler projectHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.PROGRAM, FileUtil.PROFILE)));
ResourceHandler settingsHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath));
handlers.setHandlers(new Handler[] { preferenceHandler, projectHandler, settingsHandler, new DefaultHandler() });
} else if (filePath.startsWith(FileUtil.PROFILE) && !filePath.equals(FileUtil.PROFILE)) {
// make it possible to override anything under profile: with an identical path under preference:
log.debug("Setting up handler chain for {}", urlPattern);
ResourceHandler preferenceHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.SETTINGS, FileUtil.PREFERENCES)));
ResourceHandler projectHandler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath.replace(FileUtil.PROGRAM, FileUtil.PROFILE)));
handlers.setHandlers(new Handler[] { preferenceHandler, projectHandler, new DefaultHandler() });
} else if (FileUtil.isPortableFilename(filePath)) {
log.debug("Setting up handler chain for {}", urlPattern);
ResourceHandler handler = new DirectoryHandler(FileUtil.getAbsoluteFilename(filePath));
handlers.setHandlers(new Handler[] { handler, new DefaultHandler() });
} else if (URIforPortablePath(filePath) == null) {
throw new IllegalArgumentException("\"" + filePath + "\" is not allowed.");
}
ContextHandler handlerContext = new ContextHandler();
handlerContext.setContextPath(urlPattern);
handlerContext.setHandler(handlers);
((ContextHandlerCollection) this.server.getHandler()).addHandler(handlerContext);
}
use of org.eclipse.jetty.servlet.ServletContextHandler in project JMRI by JMRI.
the class WebServer method registerDenial.
/**
* Register a URL pattern to be denied access.
*
* @param urlPattern the pattern to deny access to
*/
public void registerDenial(String urlPattern) {
this.registeredUrls.put(urlPattern, Registration.DENIAL);
ServletContextHandler servletContext = new ServletContextHandler(ServletContextHandler.NO_SECURITY);
servletContext.setContextPath(urlPattern);
DenialServlet servlet = new DenialServlet();
// NOI18N
servletContext.addServlet(new ServletHolder(servlet), "/*");
((ContextHandlerCollection) this.server.getHandler()).addHandler(servletContext);
}
Aggregations