Search in sources :

Example 6 with Undertow

use of io.undertow.Undertow in project tutorials by eugenp.

the class SocketServer method main.

public static void main(String[] args) {
    Undertow server = Undertow.builder().addHttpListener(8080, "localhost").setHandler(path().addPrefixPath("/baeldungApp", websocket((exchange, channel) -> {
        channel.getReceiveSetter().set(getListener());
        channel.resumeReceives();
    })).addPrefixPath("/", resource(new ClassPathResourceManager(SocketServer.class.getClassLoader(), SocketServer.class.getPackage())).addWelcomeFiles("index.html"))).build();
    server.start();
}
Also used : ClassPathResourceManager(io.undertow.server.handlers.resource.ClassPathResourceManager) Undertow(io.undertow.Undertow)

Example 7 with Undertow

use of io.undertow.Undertow in project adeptj-runtime by AdeptJ.

the class Server method rootHandler.

/**
 * Chaining of Undertow {@link HttpHandler} instances as follows.
 * <p>
 * 1. GracefulShutdownHandler
 * 2. RequestLimitingHandler
 * 3. AllowedMethodsHandler
 * 4. PredicateHandler which resolves to either RedirectHandler or SetHeadersHandler
 * 5. RequestBufferingHandler if request buffering is enabled, wrapped in SetHeadersHandler
 * 5. And Finally ServletInitialHandler
 *
 * @param servletInitialHandler the {@link io.undertow.servlet.handlers.ServletInitialHandler}
 * @return GracefulShutdownHandler as the root handler
 */
private GracefulShutdownHandler rootHandler(HttpHandler servletInitialHandler) {
    Config cfg = Objects.requireNonNull(this.cfgReference.get());
    Map<HttpString, String> headers = new HashMap<>();
    headers.put(HttpString.tryFromString(HEADER_SERVER), cfg.getString(KEY_HEADER_SERVER));
    if (Environment.isDev()) {
        headers.put(HttpString.tryFromString(HEADER_X_POWERED_BY), Version.getFullVersionString());
    }
    HttpHandler headersHandler = Boolean.getBoolean(SYS_PROP_ENABLE_REQ_BUFF) ? new SetHeadersHandler(new RequestBufferingHandler(servletInitialHandler, Integer.getInteger(SYS_PROP_REQ_BUFF_MAX_BUFFERS, cfg.getInt(KEY_REQ_BUFF_MAX_BUFFERS))), headers) : new SetHeadersHandler(servletInitialHandler, headers);
    return Handlers.gracefulShutdown(new RequestLimitingHandler(Integer.getInteger(SYS_PROP_MAX_CONCUR_REQ, cfg.getInt(KEY_MAX_CONCURRENT_REQS)), new AllowedMethodsHandler(Handlers.predicate(exchange -> CONTEXT_PATH.equals(exchange.getRequestURI()), Handlers.redirect(TOOLS_DASHBOARD_URI), headersHandler), this.allowedMethods(cfg))));
}
Also used : KEY_HTTPS(com.adeptj.runtime.server.ServerConstants.KEY_HTTPS) KEY_MAX_CONCURRENT_REQS(com.adeptj.runtime.common.Constants.KEY_MAX_CONCURRENT_REQS) CryptoServlet(com.adeptj.runtime.servlet.CryptoServlet) DIR_ADEPTJ_RUNTIME(com.adeptj.runtime.common.Constants.DIR_ADEPTJ_RUNTIME) KEY_HTTP_ONLY(com.adeptj.runtime.server.ServerConstants.KEY_HTTP_ONLY) HttpString(io.undertow.util.HttpString) OptionMap(org.xnio.OptionMap) KEY_WS_WEB_SOCKET_OPTIONS(com.adeptj.runtime.server.ServerConstants.KEY_WS_WEB_SOCKET_OPTIONS) ServerSocket(java.net.ServerSocket) Environment(com.adeptj.runtime.common.Environment) REALM(com.adeptj.runtime.server.ServerConstants.REALM) Map(java.util.Map) ServerLogsWebSocket(com.adeptj.runtime.websocket.ServerLogsWebSocket) HEADER_SERVER(com.adeptj.runtime.common.Constants.HEADER_SERVER) KEY_WS_TASK_MAX_THREADS(com.adeptj.runtime.server.ServerConstants.KEY_WS_TASK_MAX_THREADS) AllowedMethodsHandler(io.undertow.server.handlers.AllowedMethodsHandler) Set(java.util.Set) KEY_WORKER_OPTIONS(com.adeptj.runtime.server.ServerConstants.KEY_WORKER_OPTIONS) CONTEXT_PATH(com.adeptj.runtime.common.Constants.CONTEXT_PATH) ATTRIBUTE_NAME(io.undertow.websockets.jsr.WebSocketDeploymentInfo.ATTRIBUTE_NAME) Stoppable(com.adeptj.runtime.common.Stoppable) KEY_SECURED_URLS_ALLOWED_METHODS(com.adeptj.runtime.server.ServerConstants.KEY_SECURED_URLS_ALLOWED_METHODS) KEY_PORT(com.adeptj.runtime.common.Constants.KEY_PORT) KEY_HTTP(com.adeptj.runtime.common.Constants.KEY_HTTP) SYS_PROP_REQ_BUFF_MAX_BUFFERS(com.adeptj.runtime.server.ServerConstants.SYS_PROP_REQ_BUFF_MAX_BUFFERS) KEY_WORKER_TASK_CORE_THREADS(com.adeptj.runtime.server.ServerConstants.KEY_WORKER_TASK_CORE_THREADS) ArrayList(java.util.ArrayList) Servlets(io.undertow.servlet.Servlets) KEY_AUTH_ROLES(com.adeptj.runtime.server.ServerConstants.KEY_AUTH_ROLES) ServletSessionConfig(io.undertow.servlet.api.ServletSessionConfig) SYS_PROP_SESSION_TIMEOUT(com.adeptj.runtime.server.ServerConstants.SYS_PROP_SESSION_TIMEOUT) CRYPTO_SERVLET(com.adeptj.runtime.server.ServerConstants.CRYPTO_SERVLET) KEY_INVALIDATE_SESSION_ON_LOGOUT(com.adeptj.runtime.server.ServerConstants.KEY_INVALIDATE_SESSION_ON_LOGOUT) KEY_MULTIPART_MAX_REQUEST_SIZE(com.adeptj.runtime.server.ServerConstants.KEY_MULTIPART_MAX_REQUEST_SIZE) KEY_WORKER_TASK_MAX_THREADS(com.adeptj.runtime.server.ServerConstants.KEY_WORKER_TASK_MAX_THREADS) Verb(com.adeptj.runtime.common.Verb) WORKER_TASK_THREAD_MULTIPLIER(com.adeptj.runtime.server.ServerConstants.WORKER_TASK_THREAD_MULTIPLIER) Times(com.adeptj.runtime.common.Times) DefaultByteBufferPool(io.undertow.server.DefaultByteBufferPool) DEFAULT_WAIT_TIME(com.adeptj.runtime.server.ServerConstants.DEFAULT_WAIT_TIME) LinkedHashSet(java.util.LinkedHashSet) DIR_DEPLOYMENT(com.adeptj.runtime.common.Constants.DIR_DEPLOYMENT) SYS_TASK_THREAD_MULTIPLIER(com.adeptj.runtime.server.ServerConstants.SYS_TASK_THREAD_MULTIPLIER) KEY_MULTIPART_FILE_SIZE_THRESHOLD(com.adeptj.runtime.server.ServerConstants.KEY_MULTIPART_FILE_SIZE_THRESHOLD) Config(com.typesafe.config.Config) Files(java.nio.file.Files) TOOLS_CRYPTO_URI(com.adeptj.runtime.common.Constants.TOOLS_CRYPTO_URI) KEY_WS_IO_THREADS(com.adeptj.runtime.server.ServerConstants.KEY_WS_IO_THREADS) SYS_PROP_MAX_CONCUR_REQ(com.adeptj.runtime.server.ServerConstants.SYS_PROP_MAX_CONCUR_REQ) KEY_HOST(com.adeptj.runtime.common.Constants.KEY_HOST) USER_DIR(org.apache.commons.lang3.SystemUtils.USER_DIR) IOException(java.io.IOException) ErrorPageServlet(com.adeptj.runtime.servlet.ErrorPageServlet) RequestLimitingHandler(io.undertow.server.handlers.RequestLimitingHandler) RequestBufferingHandler(io.undertow.server.handlers.RequestBufferingHandler) KEY_MULTIPART_MAX_FILE_SIZE(com.adeptj.runtime.server.ServerConstants.KEY_MULTIPART_MAX_FILE_SIZE) TOOLS_DASHBOARD_URI(com.adeptj.runtime.common.Constants.TOOLS_DASHBOARD_URI) Paths(java.nio.file.Paths) SYS_PROP_ENABLE_REQ_BUFF(com.adeptj.runtime.server.ServerConstants.SYS_PROP_ENABLE_REQ_BUFF) SYS_PROP_SHUTDOWN_WAIT_TIME(com.adeptj.runtime.server.ServerConstants.SYS_PROP_SHUTDOWN_WAIT_TIME) KEY_ERROR_PAGES(com.adeptj.runtime.server.ServerConstants.KEY_ERROR_PAGES) GracefulShutdownHandler(io.undertow.server.handlers.GracefulShutdownHandler) KEY_SECURED_URLS(com.adeptj.runtime.server.ServerConstants.KEY_SECURED_URLS) KEY_DEFAULT_ENCODING(com.adeptj.runtime.server.ServerConstants.KEY_DEFAULT_ENCODING) DEPLOYMENT_NAME(com.adeptj.runtime.common.Constants.DEPLOYMENT_NAME) TOOLS_LOGIN_URI(com.adeptj.runtime.common.Constants.TOOLS_LOGIN_URI) Handlers(io.undertow.Handlers) ToolsServlet(com.adeptj.runtime.servlet.ToolsServlet) ServletException(javax.servlet.ServletException) TOOLS_ERROR_URL(com.adeptj.runtime.server.ServerConstants.TOOLS_ERROR_URL) URL(java.net.URL) KEY_USE_CACHED_AUTH_MECHANISM(com.adeptj.runtime.server.ServerConstants.KEY_USE_CACHED_AUTH_MECHANISM) LoggerFactory(org.slf4j.LoggerFactory) ServletInfo(io.undertow.servlet.api.ServletInfo) Undertow(io.undertow.Undertow) KEY_IGNORE_FLUSH(com.adeptj.runtime.server.ServerConstants.KEY_IGNORE_FLUSH) IOUtils(com.adeptj.runtime.common.IOUtils) KEY_HEADER_SERVER(com.adeptj.runtime.common.Constants.KEY_HEADER_SERVER) ErrorPage(io.undertow.servlet.api.ErrorPage) KEY_ALLOWED_METHODS(com.adeptj.runtime.common.Constants.KEY_ALLOWED_METHODS) KEY_MULTIPART_FILE_LOCATION(com.adeptj.runtime.server.ServerConstants.KEY_MULTIPART_FILE_LOCATION) TOOLS_LOGOUT_URI(com.adeptj.runtime.common.Constants.TOOLS_LOGOUT_URI) KEY_WS_BUFFER_SIZE(com.adeptj.runtime.server.ServerConstants.KEY_WS_BUFFER_SIZE) KEY_REQ_BUFF_MAX_BUFFERS(com.adeptj.runtime.common.Constants.KEY_REQ_BUFF_MAX_BUFFERS) AUTH_SERVLET(com.adeptj.runtime.server.ServerConstants.AUTH_SERVLET) StandardOpenOption(java.nio.file.StandardOpenOption) Configs(com.adeptj.runtime.config.Configs) MultipartConfigElement(javax.servlet.MultipartConfigElement) InetSocketAddress(java.net.InetSocketAddress) Collectors(java.util.stream.Collectors) KEY_WS_TASK_CORE_THREADS(com.adeptj.runtime.server.ServerConstants.KEY_WS_TASK_CORE_THREADS) TOOLS_DASHBOARD_URL(com.adeptj.runtime.server.ServerConstants.TOOLS_DASHBOARD_URL) Options(org.xnio.Options) Objects(java.util.Objects) List(java.util.List) OSGI_CONSOLE_URL(com.adeptj.runtime.common.Constants.OSGI_CONSOLE_URL) BANNER_TXT(com.adeptj.runtime.common.Constants.BANNER_TXT) KEY_KEYSTORE(com.adeptj.runtime.server.ServerConstants.KEY_KEYSTORE) DeploymentInfo(io.undertow.servlet.api.DeploymentInfo) KEY_WS_TCP_NO_DELAY(com.adeptj.runtime.server.ServerConstants.KEY_WS_TCP_NO_DELAY) SYS_PROP_CHECK_PORT(com.adeptj.runtime.server.ServerConstants.SYS_PROP_CHECK_PORT) SYS_PROP_ENABLE_AJP(com.adeptj.runtime.server.ServerConstants.SYS_PROP_ENABLE_AJP) CrawlerSessionManagerConfig(io.undertow.servlet.api.CrawlerSessionManagerConfig) Xnio(org.xnio.Xnio) Builder(io.undertow.Undertow.Builder) WebSocketDeploymentInfo(io.undertow.websockets.jsr.WebSocketDeploymentInfo) HashMap(java.util.HashMap) BindException(java.net.BindException) FORM_AUTH(javax.servlet.http.HttpServletRequest.FORM_AUTH) TOOLS_SERVLET(com.adeptj.runtime.server.ServerConstants.TOOLS_SERVLET) SecurityConstraint(io.undertow.servlet.api.SecurityConstraint) ERROR_PAGE_SERVLET(com.adeptj.runtime.server.ServerConstants.ERROR_PAGE_SERVLET) WeakReference(java.lang.ref.WeakReference) SYS_PROP_ENABLE_HTTP2(com.adeptj.runtime.server.ServerConstants.SYS_PROP_ENABLE_HTTP2) SYS_PROP_SERVER_PORT(com.adeptj.runtime.common.Constants.SYS_PROP_SERVER_PORT) KEY_AJP(com.adeptj.runtime.server.ServerConstants.KEY_AJP) Version(io.undertow.Version) KEY_SESSION_TIMEOUT(com.adeptj.runtime.server.ServerConstants.KEY_SESSION_TIMEOUT) Logger(org.slf4j.Logger) SslContextFactory(com.adeptj.runtime.common.SslContextFactory) LogbackManager(com.adeptj.runtime.tools.logging.LogbackManager) ARG_OPEN_CONSOLE(com.adeptj.runtime.common.Constants.ARG_OPEN_CONSOLE) HEADER_X_POWERED_BY(com.adeptj.runtime.common.Constants.HEADER_X_POWERED_BY) ContainerInitializer(com.adeptj.runtime.core.ContainerInitializer) XnioWorker(org.xnio.XnioWorker) SERVER_CONF_FILE(com.adeptj.runtime.common.Constants.SERVER_CONF_FILE) DeploymentManager(io.undertow.servlet.api.DeploymentManager) KEY_WS_USE_DIRECT_BUFFER(com.adeptj.runtime.server.ServerConstants.KEY_WS_USE_DIRECT_BUFFER) AuthServlet(com.adeptj.runtime.servlet.AuthServlet) HttpHandler(io.undertow.server.HttpHandler) ServerSocketChannel(java.nio.channels.ServerSocketChannel) FrameworkLauncher(com.adeptj.runtime.osgi.FrameworkLauncher) ServletContainerInitializerInfo(io.undertow.servlet.api.ServletContainerInitializerInfo) KEY_CHANGE_SESSIONID_ON_LOGIN(com.adeptj.runtime.server.ServerConstants.KEY_CHANGE_SESSIONID_ON_LOGIN) DefaultExecutorService(com.adeptj.runtime.common.DefaultExecutorService) InputStream(java.io.InputStream) HttpHandler(io.undertow.server.HttpHandler) AllowedMethodsHandler(io.undertow.server.handlers.AllowedMethodsHandler) HashMap(java.util.HashMap) RequestBufferingHandler(io.undertow.server.handlers.RequestBufferingHandler) ServletSessionConfig(io.undertow.servlet.api.ServletSessionConfig) Config(com.typesafe.config.Config) CrawlerSessionManagerConfig(io.undertow.servlet.api.CrawlerSessionManagerConfig) HttpString(io.undertow.util.HttpString) RequestLimitingHandler(io.undertow.server.handlers.RequestLimitingHandler) HttpString(io.undertow.util.HttpString)

Example 8 with Undertow

use of io.undertow.Undertow in project ice by JBEI.

the class DevelopmentServer method main.

public static void main(String[] args) throws Exception {
    DeploymentInfo servletBuilder = Servlets.deployment().setClassLoader(ClassLoader.getSystemClassLoader()).addListener(Servlets.listener(IceServletContextListener.class)).setContextPath("/").setDeploymentName("Inventory for Composable Elements").setResourceManager(new FileResourceManager(new File("src/main/webapp"), 10)).addWelcomePage("index.htm").addServlets(Servlets.servlet("Jersey REST Servlet", ServletContainer.class).addInitParam("jersey.config.server.provider.packages", "org.jbei.ice.services.rest").addInitParam("jersey.config.server.provider.scanning.recursive", "false").addInitParam("javax.ws.rs.Application", "org.jbei.ice.services.rest.multipart.IceApplication").setAsyncSupported(true).setEnabled(true).addMapping("/rest/*"));
    // deploy servlet
    DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder);
    manager.deploy();
    HttpHandler servletHandler = manager.start();
    PredicatesHandler handler = Handlers.predicates(PredicatedHandlersParser.parse("path-prefix('search') or " + "path-prefix('folders') or " + "path-prefix('upload') or " + "path-prefix('download') or " + "path-prefix('entry') or path-prefix('admin') and regex('/.+') -> rewrite('/')", ClassLoader.getSystemClassLoader()), servletHandler);
    PathHandler path = Handlers.path(Handlers.redirect("/")).addPrefixPath("/", handler);
    Undertow server = Undertow.builder().addHttpListener(8080, "localhost").setHandler(path).build();
    server.start();
}
Also used : HttpHandler(io.undertow.server.HttpHandler) FileResourceManager(io.undertow.server.handlers.resource.FileResourceManager) DeploymentManager(io.undertow.servlet.api.DeploymentManager) PredicatesHandler(io.undertow.predicate.PredicatesHandler) ServletContainer(org.glassfish.jersey.servlet.ServletContainer) PathHandler(io.undertow.server.handlers.PathHandler) DeploymentInfo(io.undertow.servlet.api.DeploymentInfo) File(java.io.File) Undertow(io.undertow.Undertow)

Example 9 with Undertow

use of io.undertow.Undertow in project symja_android_library by axkr.

the class SymjaServer method main.

public static void main(final String[] args) {
    try {
        if (setArgs("SymjaServer", args) < 0) {
            return;
        }
    } catch (RuntimeException rex) {
        return;
    }
    try {
        ToggleFeature.COMPILE = false;
        Config.FUZZY_PARSER = true;
        Config.UNPROTECT_ALLOWED = false;
        Config.USE_MANIPULATE_JS = true;
        Config.JAS_NO_THREADS = false;
        // Config.THREAD_FACTORY =
        // com.google.appengine.api.ThreadManager.currentRequestThreadFactory();
        Config.MATHML_TRIG_LOWERCASE = false;
        Config.MAX_AST_SIZE = 10000;
        Config.MAX_OUTPUT_SIZE = 10000;
        Config.MAX_BIT_LENGTH = 200000;
        Config.MAX_POLYNOMIAL_DEGREE = 100;
        Config.FILESYSTEM_ENABLED = false;
        Config.MAX_INPUT_LEAVES = 100L;
        Config.MAX_MATRIX_DIMENSION_SIZE = 100;
        EvalEngine.get().setPackageMode(true);
        F.initSymbols();
        FuzzyParserFactory.initialize();
        final APIHandler apiHandler = new APIHandler();
        PathHandler path = new PathHandler().addPrefixPath("/", resource(new ClassPathResourceManager(SymjaServer.class.getClassLoader(), SymjaServer.class.getPackage())).addWelcomeFiles("indexapi.html")).addExactPath("/v1/api", apiHandler);
        // https://stackoverflow.com/a/41652378/24819
        String host = LOCALHOST_STRING ? "localhost" : InetAddress.getLocalHost().getHostAddress();
        Undertow server = Undertow.builder().addHttpListener(PORT, host).setHandler(path).build();
        server.start();
        System.out.println("\n>>> JSON API server started. <<<");
        System.out.println("Waiting for API calls at http://" + host + ":" + PORT + "/v1/api");
        System.out.println("Example client call:");
        System.out.println("http://" + host + ":" + PORT + "/v1/api?i=D(Sin(x)%2Cx)&f=latex&f=plaintext&f=sinput&appid=DEMO");
        URI uri = new URI("http://" + host + ":" + PORT + "/indexapi.html");
        System.out.println();
        System.out.println("To test the JSON API open page: " + uri.toString() + " in your browser.");
        if (TEST && Desktop.isDesktopSupported()) {
            Desktop.getDesktop().browse(uri);
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Also used : PathHandler(io.undertow.server.handlers.PathHandler) HttpString(io.undertow.util.HttpString) ClassPathResourceManager(io.undertow.server.handlers.resource.ClassPathResourceManager) URI(java.net.URI) Undertow(io.undertow.Undertow) ReturnException(org.matheclipse.core.eval.exception.ReturnException)

Example 10 with Undertow

use of io.undertow.Undertow in project symja_android_library by axkr.

the class ServletServer method runServer.

/**
 * @param deploymentName the <code>*.war</code> deployment name.
 * @param classLoader the current class loader
 * @param ajaxServlet the name of the AJAX servlet class
 * @param port typical port <code>8080</code>
 * @param welcomeFile TODO
 */
protected static void runServer(String deploymentName, ClassLoader classLoader, Class<? extends Servlet> ajaxServlet, int port, String welcomeFile) {
    try {
        // https://stackoverflow.com/a/41652378/24819
        String host = LOCALHOST_STRING ? "localhost" : InetAddress.getLocalHost().getHostAddress();
        DeploymentInfo servletBuilder = deployment().setClassLoader(classLoader).setContextPath(MMAServletServer.MYAPP).setDeploymentName(deploymentName).addServlets(servlet("query", ajaxServlet).setLoadOnStartup(1).addMapping("/query/"), servlet("doc", AJAXDocServlet.class).addMapping("/doc/*"), servlet("search", AJAXSearchServlet.class).addMapping("/doc/search/"));
        DeploymentManager manager = defaultContainer().addDeployment(servletBuilder);
        manager.deploy();
        HttpHandler servletHandler = manager.start();
        PathHandler path = // Handlers.redirect(MYAPP)
        Handlers.path().addPrefixPath("/ajax", servletHandler).addPrefixPath("/", resource(new ClassPathResourceManager(classLoader, "public/")).addWelcomeFiles(welcomeFile));
        Undertow server = Undertow.builder().addHttpListener(port, host).setHandler(path).build();
        server.start();
        URI uri = new URI("http://" + host + ":" + port + "/" + welcomeFile);
        if (Desktop.isDesktopSupported()) {
            Desktop.getDesktop().browse(uri);
        }
        LOGGER.info("Open browser URL: {}", uri);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Also used : HttpHandler(io.undertow.server.HttpHandler) DeploymentManager(io.undertow.servlet.api.DeploymentManager) PathHandler(io.undertow.server.handlers.PathHandler) DeploymentInfo(io.undertow.servlet.api.DeploymentInfo) ClassPathResourceManager(io.undertow.server.handlers.resource.ClassPathResourceManager) URI(java.net.URI) Undertow(io.undertow.Undertow) ReturnException(org.matheclipse.core.eval.exception.ReturnException)

Aggregations

Undertow (io.undertow.Undertow)55 HttpHandler (io.undertow.server.HttpHandler)27 HttpServerExchange (io.undertow.server.HttpServerExchange)22 PathHandler (io.undertow.server.handlers.PathHandler)16 IOException (java.io.IOException)13 Test (org.junit.Test)11 ClassPathResourceManager (io.undertow.server.handlers.resource.ClassPathResourceManager)10 DeploymentInfo (io.undertow.servlet.api.DeploymentInfo)10 DeploymentManager (io.undertow.servlet.api.DeploymentManager)9 URI (java.net.URI)9 TestHttpClient (io.undertow.testutils.TestHttpClient)6 ServletException (javax.servlet.ServletException)6 HttpGet (org.apache.http.client.methods.HttpGet)6 LoadBalancingProxyClient (io.undertow.server.handlers.proxy.LoadBalancingProxyClient)5 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)5 XnioWorker (org.xnio.XnioWorker)5 PathResourceManager (io.undertow.server.handlers.resource.PathResourceManager)4 InMemorySessionManager (io.undertow.server.session.InMemorySessionManager)4 SessionAttachmentHandler (io.undertow.server.session.SessionAttachmentHandler)4 SessionCookieConfig (io.undertow.server.session.SessionCookieConfig)4