Mercurial Hosting > luan
comparison http/src/luan/modules/http/LuanHandler.java @ 494:2b9bc97f0439
change luan:web to luan:http
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 15 May 2015 17:43:13 -0600 |
parents | http/src/luan/modules/web/LuanHandler.java@1d082a0812e0 |
children | 8dcf9e12446b |
comparison
equal
deleted
inserted
replaced
493:1d082a0812e0 | 494:2b9bc97f0439 |
---|---|
1 package luan.modules.http; | |
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 } |