package org.vertexium.examples;
import com.v5analytics.webster.App;
import com.v5analytics.webster.handlers.StaticFileHandler;
import com.v5analytics.webster.handlers.StaticResourceHandler;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public abstract class RouterBase extends HttpServlet {
private App app;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
app = new App(config.getServletContext());
initApp(config, app);
}
protected void initApp(ServletConfig config, App app) {
app.get("/", new StaticFileHandler(config.getServletContext(), "/index.html"));
app.get("/jquery.js", new StaticResourceHandler(RouterBase.class, "/org/vertexium/examples/jquery.js", "text/javascript"));
}
@Override
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
try {
app.handle((HttpServletRequest) req, (HttpServletResponse) resp);
} catch (Exception e) {
throw new ServletException(e);
}
}
}