/** * Adds a handler. * * @param handler the handler to add */ public void addHandler(AbstractHandler handler) { HandlerList handlers = new HandlerList(); handlers.addHandler(handler); for (Handler h : mServer.getHandlers()) { handlers.addHandler(h); } mServer.setHandler(handlers); }
/** * 启动内嵌的RESTful服务器. * * @param packages RESTful实现类所在包 * @param resourcePath 资源路径 * @param servletPath servlet路径 * @throws Exception 启动服务器异常 */ public void start(final String packages, final Optional<String> resourcePath, final Optional<String> servletPath) throws Exception { log.info("Elastic Job: Start RESTful server"); HandlerList handlers = new HandlerList(); if (resourcePath.isPresent()) { servletContextHandler.setBaseResource(Resource.newClassPathResource(resourcePath.get())); servletContextHandler.addServlet(new ServletHolder(DefaultServlet.class), "/*"); } String servletPathStr = (servletPath.isPresent() ? servletPath.get() : "") + "/*"; servletContextHandler.addServlet(getServletHolder(packages), servletPathStr); handlers.addHandler(servletContextHandler); server.setHandler(handlers); server.start(); }
@Signature public void addFilter(final Invoker invoker) { filters.addHandler(new InvokeHandler(invoker)); }
@Signature public void addHandler(final Invoker invoker) { handlers.addHandler(new InvokeHandler(invoker)); }
private void initClientProxy(Config config, HandlerList handlers) { int port = config.getInteger("osmand.port"); if (port != 0) { ServletContextHandler servletHandler = new ServletContextHandler() { @Override public void doScope( String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (target.equals("/") && request.getMethod().equals(HttpMethod.POST.asString())) { super.doScope(target, baseRequest, request, response); } } }; ServletHolder servletHolder = new ServletHolder(new AsyncProxyServlet.Transparent()); servletHolder.setInitParameter("proxyTo", "http://localhost:" + port); servletHandler.addServlet(servletHolder, "/"); handlers.addHandler(servletHandler); } }
@Signature public void runInBackground() throws Exception { server.setErrorHandler(new ErrorHandler() { @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException { super.handle(target, baseRequest, request, response); } }); HandlerList handlerList = new HandlerList(); for (Handler handler : filters.getHandlers()) { handlerList.addHandler(handler); } for (Handler handler : handlers.getHandlers()) { handlerList.addHandler(handler); } server.setHandler(handlerList); server.start(); }
private void initSessionManager() { idmanager = new DefaultSessionIdManager(server); server.setSessionIdManager(idmanager); SessionHandler sessions = new SessionHandler(); sessions.setSessionIdManager(idmanager); filters.addHandler(sessions); }
@Signature public void addWebSocket(Environment env, String path, ArrayMemory _handlers) { WebSocketParam param = _handlers.toBean(env, WebSocketParam.class); ContextHandler contextHandler = new ContextHandler(path); contextHandler.setHandler(new WebSocketHandler() { @Override public void configure(WebSocketServletFactory factory) { factory.setCreator(new WebSocketCreator() { @Override public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) { return new WebSocket(env, param); } }); } }); handlers.addHandler(contextHandler); }
@BeforeClass @Override public void setUpGlobal() throws Exception { server = new Server(); ServerConnector connector1 = addHttpConnector(server); ServerConnector connector2 = addHttpConnector(server); HandlerList list = new HandlerList(); list.addHandler(new AbstractHandler() { @Override public void handle(String s, Request request, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { if (request.getLocalPort() == port2) { httpServletResponse.sendRedirect(getTargetUrl()); } } }); list.addHandler(configureHandler()); server.setHandler(list); server.start(); port1 = connector1.getLocalPort(); port2 = connector2.getLocalPort(); logger.info("Local HTTP server started successfully"); }
handlerList.addHandler(handler); handlerList.addHandler(JettyServerInitUtils.getJettyRequestLogHandler()); handlerList.addHandler(handler); handlerList.addHandler(JettyServerInitUtils.wrapWithDefaultGzipHandler( root, serverConfig.getInflateBufferSize(),
this.handlerList.addHandler( createBoshHandler() ); this.handlerList.addHandler( createWebsocketHandler() ); this.handlerList.addHandler( createCrossDomainHandler() ); this.handlerList.addHandler( this.extensionHandlers ); if ( staticContentHandler != null ) this.handlerList.addHandler( staticContentHandler );
@Signature public PHttpRouteFilter filtrate(Environment env, Memory methods, String path, Memory invoker) { PHttpRouteFilter routeHandler = new PHttpRouteFilter(env); routeHandler.reset(env, methods, path, invoker); filters.addHandler(new InvokeHandler(Invoker.create(env, ObjectMemory.valueOf(routeHandler)))); return routeHandler; }
public WebServer(Config config) { initServer(config); ServletContextHandler servletHandler = new ServletContextHandler(ServletContextHandler.SESSIONS); int sessionTimeout = config.getInteger("web.sessionTimeout"); if (sessionTimeout > 0) { servletHandler.getSessionHandler().setMaxInactiveInterval(sessionTimeout); } initApi(config, servletHandler); if (config.getBoolean("web.console")) { servletHandler.addServlet(new ServletHolder(new ConsoleServlet()), "/console/*"); } initWebApp(config, servletHandler); servletHandler.setErrorHandler(new ErrorHandler() { @Override protected void handleErrorPage( HttpServletRequest request, Writer writer, int code, String message) throws IOException { writer.write("<!DOCTYPE<html><head><title>Error</title></head><html><body>" + code + " - " + HttpStatus.getMessage(code) + "</body></html>"); } }); HandlerList handlers = new HandlerList(); initClientProxy(config, handlers); handlers.addHandler(servletHandler); server.setHandler(handlers); }
allHandlers.addHandler(hostHeaderHandler); } else { logger.info("Running in HTTP mode; host headers not restricted"); allHandlers.addHandler(contextHandlers); server.setHandler(allHandlers);
handlerList.addHandler(logHandler);
private void installWar(HandlerList handlers, String file, String context) { if (Strings.isNullOrEmpty(file) || Strings.isNullOrEmpty(context)) { LOGGER.warn("Incomplete WAR configuration; skipping"); return; } LOGGER.info("Adding {} to server at context /{}", file, context); WebAppContext webapp = new WebAppContext(file, "/" + context); handlers.addHandler(webapp); }
private WebAppContext deployWar(String url, String warFile, Path warDirectory) throws IOException { WebAppContext webapp = new WebAppContext(); if (url.startsWith("/")) { webapp.setContextPath(url); } else { webapp.setContextPath("/" + url); } webapp.setWar(warDirectory.resolve(warFile).toString()); handlers.addHandler(webapp); return webapp; }
private void installSwagger(HandlerList handlers) { LOGGER.debug("Adding Swagger documentation"); final ResourceHandler resourceHandler = new ResourceHandler(); resourceHandler.setDirectoriesListed(true); // resourceHandler.setResourceBase(getClass().getResource("/swagger").toExternalForm()); ContextHandler swaggerHandler = new ContextHandler("/swagger/*"); swaggerHandler.setHandler(resourceHandler); handlers.addHandler(swaggerHandler); }
WebAppContext context = new WebAppContext(); context.setContextPath("/myWebApp"); context.setExtractWAR(false); context.setDescriptor("/file/system/path/to/your/wab/app/WEB-INF/web.xml"); context.setResourceBase("/file/system/path/to/your/wab/app"); context.setConfigurationDiscovered(false); HandlerList handlerList=new HandlerList(); handlerList.addHandler(webAppContext); Server server = new Server(threadPool); server.setHandler(handlerList); server.start();
public WebAppContext deployWebApp(String contextPath, File warFile) { WebAppContext webapp = new WebAppContext(); if (contextPath.startsWith("/")) { webapp.setContextPath(contextPath); } else { webapp.setContextPath("/" + contextPath); } webapp.setWar(warFile.getAbsolutePath()); handlers.addHandler(webapp); return webapp; }