Mercurial Hosting > luan
view web/src/luan/modules/web/LuanHandler.java @ 288:c4ed33e95889
fix Http.init_for_test()
git-svn-id: https://luan-java.googlecode.com/svn/trunk@289 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Fri, 05 Dec 2014 03:49:54 +0000 |
parents | 2164b4479661 |
children | a8d03e6882c6 |
line wrap: on
line source
package luan.modules.web; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; import luan.LuanState; import luan.LuanException; public class LuanHandler extends AbstractHandler { private static final Logger logger = LoggerFactory.getLogger(LuanHandler.class); private final LuanState luan; private String welcomeFile = "index.html"; public LuanHandler(LuanState luan) { this.luan = luan; } public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) throws IOException { if( target.endsWith("/") ) target += welcomeFile; try { if( !HttpServicer.service(luan,request,response,"site:"+target) ) return; response.setStatus(HttpServletResponse.SC_OK); } catch(LuanException e) { String err = e.getFullMessage(); logger.error(err); response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,err); } baseRequest.setHandled(true); } public void setWelcomeFile(String welcomeFile) { this.welcomeFile = welcomeFile; } }