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 }