public ServletContextBuilder addServletContext() { return new ServletContextBuilder(this, sessionStorage, serverConfig); }
public ServletMappingBuilder addServlet() { return new ServletMappingBuilder(this); }
public static DeploymentDescriptorBuilder create() { return new DeploymentDescriptorBuilder(); }
return DeploymentDescriptorBuilder.create() .withSessionStorage(sessionStorage) .withServerConfig(serverConfig) .addServletContext() .withContextPath("/example") .addFilter() .withUrlPattern(Pattern.compile("^/secured/.*$")) .withFilterClass(FakeSecuredFilter.class) .end() .addServlet() .withUrlPattern(Pattern.compile("^/Chunked$")) .withServletClass(Chunked.class) .end() .addServlet() .withUrlPattern(Pattern.compile("^/ChunkedWithDelay$")) .withServletClass(ChunkedWithDelay.class) .end() .addServlet() .withUrlPattern(Pattern.compile("^/Cookies$")) .withServletClass(Cookies.class) .end() .addServlet() .withUrlPattern(Pattern.compile("^/Forbidden$")) .withServletClass(Forbidden.class) .end() .addServlet() .withUrlPattern(Pattern.compile("^/Index$")) .withServletClass(Index.class) .end()
@Before public void setUp() throws IOException { serverConfig = mock(ServerConfig.class); serverConfigFactory = mock(ServerConfigFactory.class); serverSocketFactory = mock(ServerSocketFactory.class); ServerSocket serverSocket = mock(ServerSocket.class); when(serverSocket.accept()).thenCallRealMethod(); // Avoid NPE when(serverConfigFactory.getServerConfig()).thenReturn(serverConfig); when(serverConfig.getMaxServerThreads()).thenReturn(1); when(serverConfig.getDocumentRootPath()).thenReturn("/somepath"); when(serverConfig.getTempPath()).thenReturn(FileUtils.createTempDirectory()); when(serverSocketFactory.createServerSocket()).thenReturn(serverSocket); serverGui = mock(ServerGui.class); }
private ServerConfig getDefaultServerConfig() throws IOException { ServerConfig serverConfig = mock(ServerConfig.class); when(serverConfig.getDocumentRootPath()).thenReturn("/tmp/SomePathThatDoesNotExist"); when(serverConfig.getTempPath()).thenReturn(FileUtils.createTempDirectory()); when(serverConfig.getMaxServerThreads()).thenReturn(99); return serverConfig; } }
/** * {@inheritDoc} */ @Override protected Set<ResourceProvider> getAdditionalResourceProviders(final ServerConfig serverConfig) { Set<ResourceProvider> resourceProviders = new HashSet<>(); resourceProviders.add(getAssetsResourceProvider(serverConfig.getMimeTypeMapping())); return resourceProviders; }
private List<ServletContextImpl> getServletContexts(final ServerConfig serverConfig) { DeploymentDescriptorBuilder deploymentDescriptorBuilder = getDeploymentDescriptorBuilder(new FileSessionStorage(serverConfig.getTempPath()), serverConfig); List<ServletContextImpl> servletContexts = deploymentDescriptorBuilder.build(); for (ServletContextImpl servletContextImpl : servletContexts) { for (Map.Entry<String, Object> entry : getAdditionalServletContextAttributes().entrySet()) { servletContextImpl.setAttribute(entry.getKey(), entry.getValue()); } } return servletContexts; }
/** * Returns the constructed object. * * @return */ public ServletContextBuilder end() { servletContextBuilder.withFilterMapping(new FilterMappingImpl(urlPattern, urlExcludedPattern, clazz)); return servletContextBuilder; } }
public ServletContextBuilder end() { servletContextBuilder.withServletMapping(new ServletMappingImpl(urlPattern, servletClass)); return servletContextBuilder; } }
private boolean bindSocket() { try { serverSocket.bind(new InetSocketAddress(serverConfig.getListenPort())); } catch (IOException e) { LOGGER.log(Level.SEVERE, "Unable to start server: unable to listen on port " + serverConfig.getListenPort(), e); return false; } return true; }
public DeploymentDescriptorBuilder end() { parent.addServletContext(new ServletContextImpl(contextPath, servletMappings, filterMappings, attributes, serverConfig, sessionStorage )); return parent; }
private boolean isNumberOfThreadsSufficient() { if (serverConfig.getMaxServerThreads() < 1) { LOGGER.log(Level.SEVERE, "MaxThreads should be greater or equal to 1! {0} is given.", new Object[]{serverConfig.getMaxServerThreads()}); return false; } return true; }
private DirectoryIndexDescriptor loadDirectoryIndexResource(final String path) { String normalizedDirectoryPath = pathHelper.getNormalizedDirectoryPath(path); for (String index : serverConfig.getDirectoryIndex()) { String directoryIndexPath = normalizedDirectoryPath + index; ResourceProvider resourceProvider = getResourceProvider(directoryIndexPath); if (resourceProvider != null) { return new DirectoryIndexDescriptor(resourceProvider, directoryIndexPath); } } return null; }
/** * Tells whether the given HTTP method is supported. * * @param method * @return */ private boolean isMethodSupported(final String method) { for (String aMethod : serverConfig.getSupportedMethods()) { if (aMethod.equals(method)) { return true; } } return false; }
public FilterMappingBuilder addFilter() { return new FilterMappingBuilder(this); }
private ResourceProvider getResourceProvider(final String path) { for (ResourceProvider resourceProvider : serverConfig.getResourceProviders()) { if (resourceProvider.canLoad(path)) { return resourceProvider; } } return null; }
private Servlet getServlet(final ServletMapping servletMapping, final ServletConfigImpl servletConfig) { Servlet servlet; try { servlet = servletContainer.getServletForClass(servletMapping.getServletClass(), servletConfig); } catch (ServletInitializationException | ServletException e) { throw new UnexpectedSituationException(e); } return servlet; }
/** * {@inheritDoc} */ @Override public String getMimeType(final String file) { return serverConfig.getMimeTypeMapping(). getMimeTypeByExtension(FileUtilities.getExtension(file)); }
/** * Returns coma separated allowed methods. * * @return */ private String getAllowedMethods() { StringBuilder stringBuilder = new StringBuilder(); List<String> supportedMethods = serverConfig.getSupportedMethods(); for (int i = 0; i < supportedMethods.size(); i++) { stringBuilder.append(supportedMethods.get(i)); if (i != supportedMethods.size() - 1) { stringBuilder.append(", "); } } return stringBuilder.toString(); }