Mercurial Hosting > luan
diff web/src/luan/modules/web/LuanHandler.java @ 175:bdbd4740121f
finish web server
git-svn-id: https://luan-java.googlecode.com/svn/trunk@176 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 23 Jun 2014 07:48:17 +0000 |
parents | |
children | 88ad4fc4c643 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/src/luan/modules/web/LuanHandler.java Mon Jun 23 07:48:17 2014 +0000 @@ -0,0 +1,35 @@ +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.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.handler.AbstractHandler; +import luan.LuanState; +import luan.LuanException; + + +public class LuanHandler extends AbstractHandler { + private final LuanState luan; + + LuanHandler(LuanState luan) { + this.luan = luan; + } + + public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) + throws IOException + { + try { + if( !HttpLuan.service(luan,request,response,target) ) + return; + response.setStatus(HttpServletResponse.SC_OK); + baseRequest.setHandled(true); + } catch(LuanException e) { +//e.printStackTrace(); + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,e.toString()); + baseRequest.setHandled(true); + } + } +}