use of io.undertow.servlet.api.ServletContainer in project undertow by undertow-io.
the class RequestPathTestCase method setup.
@BeforeClass
public static void setup() throws ServletException {
final PathHandler pathHandler = new PathHandler();
final ServletContainer container = ServletContainer.Factory.newInstance();
DeploymentInfo builder = new DeploymentInfo().setClassLoader(SimpleServletTestCase.class.getClassLoader()).setContextPath("/servletContext").setClassIntrospecter(TestClassIntrospector.INSTANCE).setDeploymentName("servletContext.war").addServlets(new ServletInfo("request", RequestPathServlet.class).addMapping("/req/*"), new ServletInfo("DefaultServlet", RequestPathServlet.class).addMapping("/"), new ServletInfo("ExactServlet", RequestPathServlet.class).addMapping("/exact"), new ServletInfo("ExactTxtServlet", RequestPathServlet.class).addMapping("/exact.txt"), new ServletInfo("HtmlServlet", RequestPathServlet.class).addMapping("*.html")).addFilters(new FilterInfo("header", SetHeaderFilter.class).addInitParam("header", "Filter").addInitParam("value", "true"), new FilterInfo("all", SetHeaderFilter.class).addInitParam("header", "all").addInitParam("value", "true")).addFilterUrlMapping("header", "*.txt", DispatcherType.REQUEST).addFilterUrlMapping("all", "/*", DispatcherType.REQUEST);
DeploymentManager manager = container.addDeployment(builder);
manager.deploy();
try {
pathHandler.addPrefixPath(builder.getContextPath(), manager.start());
} catch (ServletException e) {
throw new RuntimeException(e);
}
DefaultServer.setRootHandler(pathHandler);
}
use of io.undertow.servlet.api.ServletContainer in project undertow by undertow-io.
the class RequestListenerAsyncRequestTestCase method setup.
@BeforeClass
public static void setup() throws ServletException {
final PathHandler root = new PathHandler();
final ServletContainer container = ServletContainer.Factory.newInstance();
ServletInfo m = new ServletInfo("messageServlet", MessageServlet.class).addInitParam(MessageServlet.MESSAGE, HELLO_WORLD).setAsyncSupported(true).addMapping("/message");
ServletInfo a = new ServletInfo("asyncServlet", AsyncServlet.class).addInitParam(MessageServlet.MESSAGE, HELLO_WORLD).setAsyncSupported(true).addMapping("/async");
ServletInfo a2 = new ServletInfo("asyncServlet2", AnotherAsyncServlet.class).setAsyncSupported(true).addMapping("/async2");
DeploymentInfo builder = new DeploymentInfo().setClassLoader(SimpleServletTestCase.class.getClassLoader()).setContextPath("/servletContext").setClassIntrospecter(TestClassIntrospector.INSTANCE).setDeploymentName("servletContext.war").addServlets(m, a, a2).addListener(new ListenerInfo(TestListener.class));
DeploymentManager manager = container.addDeployment(builder);
manager.deploy();
root.addPrefixPath(builder.getContextPath(), manager.start());
DefaultServer.setRootHandler(root);
}
use of io.undertow.servlet.api.ServletContainer in project undertow by undertow-io.
the class FilterPathMappingTestCase method test_WFLY_1935.
@Test
public void test_WFLY_1935() throws IOException, ServletException {
DeploymentInfo builder = new DeploymentInfo();
final PathHandler root = new PathHandler();
final ServletContainer container = ServletContainer.Factory.newInstance();
builder.addServlet(new ServletInfo("*.a", PathMappingServlet.class).addMapping("*.a"));
builder.addFilter(new FilterInfo("/*", PathFilter.class));
builder.addFilterUrlMapping("/*", "/*", DispatcherType.REQUEST);
//non standard, but we still support it
builder.addFilter(new FilterInfo("/SimpleServlet.a", PathFilter.class));
builder.addFilterUrlMapping("/SimpleServlet.a", "/SimpleServlet.a", DispatcherType.REQUEST);
builder.setClassIntrospecter(TestClassIntrospector.INSTANCE).setClassLoader(FilterPathMappingTestCase.class.getClassLoader()).setContextPath("/servletContext").setDeploymentName("servletContext.war");
final DeploymentManager manager = container.addDeployment(builder);
manager.deploy();
root.addPrefixPath(builder.getContextPath(), manager.start());
DefaultServer.setRootHandler(root);
TestHttpClient client = new TestHttpClient();
try {
runTest(client, "SimpleServlet.a", "*.a - /SimpleServlet.a - null", "/*", "/SimpleServlet.a");
} finally {
client.getConnectionManager().shutdown();
}
}
use of io.undertow.servlet.api.ServletContainer in project undertow by undertow-io.
the class FilterPathMappingTestCase method testExtensionMatchServletWithGlobalFilter.
@Test
public void testExtensionMatchServletWithGlobalFilter() throws IOException, ServletException {
DeploymentInfo builder = new DeploymentInfo();
final PathHandler root = new PathHandler();
final ServletContainer container = ServletContainer.Factory.newInstance();
builder.addServlet(new ServletInfo("*.jsp", PathMappingServlet.class).addMapping("*.jsp"));
builder.addFilter(new FilterInfo("/*", PathFilter.class));
builder.addFilterUrlMapping("/*", "/*", DispatcherType.REQUEST);
builder.setClassIntrospecter(TestClassIntrospector.INSTANCE).setClassLoader(FilterPathMappingTestCase.class.getClassLoader()).setContextPath("/servletContext").setDeploymentName("servletContext.war");
final DeploymentManager manager = container.addDeployment(builder);
manager.deploy();
root.addPrefixPath(builder.getContextPath(), manager.start());
DefaultServer.setRootHandler(root);
TestHttpClient client = new TestHttpClient();
try {
runTest(client, "aa.jsp", "*.jsp - /aa.jsp - null", "/*");
} finally {
client.getConnectionManager().shutdown();
}
}
use of io.undertow.servlet.api.ServletContainer in project undertow by undertow-io.
the class FilterPathMappingTestCase method testBasicFilterMappings.
@Test
public void testBasicFilterMappings() throws IOException, ServletException {
DeploymentInfo builder = new DeploymentInfo();
final PathHandler root = new PathHandler();
final ServletContainer container = ServletContainer.Factory.newInstance();
builder.addServlet(new ServletInfo("/a/*", PathMappingServlet.class).addMapping("/a/*"));
builder.addServlet(new ServletInfo("/aa", PathMappingServlet.class).addMapping("/aa"));
builder.addServlet(new ServletInfo("/", PathMappingServlet.class).addMapping("/"));
builder.addServlet(new ServletInfo("contextRoot", PathMappingServlet.class).addMapping(""));
builder.addServlet(new ServletInfo("/myservlet/*", PathMappingServlet.class).addMapping("/myservlet/*"));
builder.addServlet(new ServletInfo("*.jsp", PathMappingServlet.class).addMapping("*.jsp"));
builder.addServlet(new ServletInfo("/hello/*", PathMappingServlet.class).addMapping("/hello/*"));
builder.addServlet(new ServletInfo("/test/*", PathMappingServlet.class).addMapping("/test/*"));
builder.addFilter(new FilterInfo("/*", PathFilter.class));
builder.addFilterUrlMapping("/*", "/*", DispatcherType.REQUEST);
//non standard, but we still support it
builder.addFilter(new FilterInfo("*", PathFilter.class));
builder.addFilterUrlMapping("*", "*", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("/a/*", PathFilter.class));
builder.addFilterUrlMapping("/a/*", "/a/*", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("/aa", PathFilter.class));
builder.addFilterUrlMapping("/aa", "/aa", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("*.bop", PathFilter.class));
builder.addFilterUrlMapping("*.bop", "*.bop", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("/myservlet/myfilter/*", PathFilter.class));
builder.addFilterUrlMapping("/myservlet/myfilter/*", "/myservlet/myfilter/*", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("/myfilter/*", PathFilter.class));
builder.addFilterUrlMapping("/myfilter/*", "/myfilter/*", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("contextRoot", PathFilter.class));
builder.addFilterServletNameMapping("contextRoot", "contextRoot", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("defaultName", PathFilter.class));
builder.addFilterServletNameMapping("defaultName", "/", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("/helloworld/index.html", PathFilter.class));
builder.addFilterUrlMapping("/helloworld/index.html", "/helloworld/index.html", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("/test", PathFilter.class));
builder.addFilterUrlMapping("/test", "/test", DispatcherType.REQUEST);
builder.addFilter(new FilterInfo("allByName", PathFilter.class));
builder.addFilterServletNameMapping("allByName", "*", DispatcherType.REQUEST);
builder.setClassIntrospecter(TestClassIntrospector.INSTANCE).setClassLoader(FilterPathMappingTestCase.class.getClassLoader()).setContextPath("/servletContext").setDeploymentName("servletContext.war");
final DeploymentManager manager = container.addDeployment(builder);
manager.deploy();
root.addPrefixPath(builder.getContextPath(), manager.start());
DefaultServer.setRootHandler(root);
TestHttpClient client = new TestHttpClient();
try {
runTest(client, "test", "/test/* - /test - null", "/*", "*", "/test", "allByName");
runTest(client, "aa", "/aa - /aa - null", "/*", "*", "/aa", "allByName");
runTest(client, "a/c", "/a/* - /a - /c", "/*", "*", "/a/*", "allByName");
runTest(client, "a", "/a/* - /a - null", "/*", "*", "/a/*", "allByName");
runTest(client, "aa/b", "/ - /aa/b - null", "/*", "*", "defaultName", "allByName");
runTest(client, "a/b/c/d", "/a/* - /a - /b/c/d", "/*", "*", "/a/*", "allByName");
runTest(client, "defaultStuff", "/ - /defaultStuff - null", "/*", "*", "defaultName", "allByName");
runTest(client, "", "contextRoot - / - null", "/*", "*", "contextRoot", "allByName");
runTest(client, "yyyy.bop", "/ - /yyyy.bop - null", "/*", "*", "*.bop", "defaultName", "allByName");
runTest(client, "a/yyyy.bop", "/a/* - /a - /yyyy.bop", "/*", "*", "*.bop", "/a/*", "allByName");
runTest(client, "myservlet/myfilter/file.dat", "/myservlet/* - /myservlet - /myfilter/file.dat", "/*", "*", "/myservlet/myfilter/*", "allByName");
runTest(client, "myservlet/myfilter/file.jsp", "/myservlet/* - /myservlet - /myfilter/file.jsp", "/*", "*", "/myservlet/myfilter/*", "allByName");
runTest(client, "otherservlet/myfilter/file.jsp", "*.jsp - /otherservlet/myfilter/file.jsp - null", "/*", "*", "allByName");
runTest(client, "myfilter/file.jsp", "*.jsp - /myfilter/file.jsp - null", "/*", "*", "/myfilter/*", "allByName");
runTest(client, "helloworld/index.html", "/ - /helloworld/index.html - null", "/*", "*", "/helloworld/index.html", "defaultName", "allByName");
} finally {
client.getConnectionManager().shutdown();
}
}
Aggregations