package org.uncertweb.test; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.HandlerList; import org.eclipse.jetty.server.handler.ResourceHandler; import org.junit.rules.ExternalResource; public class HTTPFileServer extends ExternalResource { private Server server; public HTTPFileServer(int port) { server = new Server(port); ResourceHandler resourceHandler = new ResourceHandler(); resourceHandler.setDirectoriesListed(true); String base = this.getClass().getClassLoader().getResource(".").getPath(); resourceHandler.setResourceBase(base); HandlerList handlers = new HandlerList(); handlers.setHandlers(new Handler[] { resourceHandler, new DefaultHandler() }); server.setHandler(handlers); } @Override protected void before() throws Throwable { super.before(); server.start(); } @Override protected void after() { try { server.stop(); } catch (Exception e) { System.err.println("Couldn't shut down HTTP server"); e.printStackTrace(); } super.after(); } }