Mercurial Hosting > luan
comparison http/src/luan/modules/web/LuanHandler.java @ 493:1d082a0812e0
move web to http
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 15 May 2015 17:29:59 -0600 |
parents | web/src/luan/modules/web/LuanHandler.java@5d4a78c93383 |
children |
comparison
equal
deleted
inserted
replaced
492:b36cc406d3d2 | 493:1d082a0812e0 |
---|---|
1 package luan.modules.web; | |
2 | |
3 import java.io.IOException; | |
4 import javax.servlet.ServletException; | |
5 import javax.servlet.http.HttpServlet; | |
6 import javax.servlet.http.HttpServletRequest; | |
7 import javax.servlet.http.HttpServletResponse; | |
8 import org.slf4j.Logger; | |
9 import org.slf4j.LoggerFactory; | |
10 import org.eclipse.jetty.server.Request; | |
11 import org.eclipse.jetty.server.handler.AbstractHandler; | |
12 import luan.LuanState; | |
13 import luan.LuanException; | |
14 | |
15 | |
16 public class LuanHandler extends AbstractHandler { | |
17 private static final Logger logger = LoggerFactory.getLogger(LuanHandler.class); | |
18 private final LuanState luan; | |
19 private String welcomeFile = "index.html"; | |
20 | |
21 public LuanHandler(LuanState luan) { | |
22 this.luan = luan; | |
23 } | |
24 | |
25 public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) | |
26 throws IOException | |
27 { | |
28 if( target.endsWith("/") ) | |
29 target += welcomeFile; | |
30 try { | |
31 if( !HttpServicer.service(luan,request,response,"site:"+target) ) | |
32 return; | |
33 } catch(LuanException e) { | |
34 String err = e.getFullMessage(luan); | |
35 logger.error(err); | |
36 response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,err); | |
37 } | |
38 baseRequest.setHandled(true); | |
39 } | |
40 | |
41 public void setWelcomeFile(String welcomeFile) { | |
42 this.welcomeFile = welcomeFile; | |
43 } | |
44 } |