view web/src/luan/modules/web/LuanHandler.java @ 177:02859b3e9d80

minor git-svn-id: https://luan-java.googlecode.com/svn/trunk@178 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Mon, 23 Jun 2014 07:57:12 +0000
parents 88ad4fc4c643
children ed19d14360fa
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.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);
		} catch(LuanException e) {
//e.printStackTrace();
			response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,e.getMessage());
		}
		baseRequest.setHandled(true);
	}
}