diff web/src/luan/modules/web/HttpServicer.java @ 477:b8ddd55c9b11

delete LuanExitException
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 11 May 2015 14:36:33 -0600
parents bf5e62a9090c
children 44caaa6a3d92
line wrap: on
line diff
--- a/web/src/luan/modules/web/HttpServicer.java	Sun May 10 22:41:00 2015 -0600
+++ b/web/src/luan/modules/web/HttpServicer.java	Mon May 11 14:36:33 2015 -0600
@@ -31,7 +31,6 @@
 import luan.LuanTable;
 import luan.LuanMeta;
 import luan.LuanJavaFunction;
-import luan.LuanExitException;
 import luan.LuanPropertyMeta;
 import luan.DeepCloner;
 import luan.modules.PackageLuan;
@@ -89,11 +88,7 @@
 			throw new RuntimeException(e);
 		}
 
-		try {
-			luan.call(fn,"<http>");
-		} catch(LuanExitException e) {
-//			System.out.println("caught LuanExitException");
-		}
+		luan.call(fn,"<http>");
 		return true;
 	}
 
@@ -275,8 +270,12 @@
 		LuanTable getters = LuanPropertyMeta.INSTANCE.getters(tbl);
 		LuanTable setters = LuanPropertyMeta.INSTANCE.setters(tbl);
 		tbl.rawPut("java",response);
-		add( tbl, "send_redirect", String.class );
-		add( tbl, "send_error", Integer.TYPE, String.class );
+		tbl.rawPut( "send_redirect", new LuanJavaFunction(
+			HttpServletResponse.class.getMethod( "sendRedirect", String.class ), response
+		) );
+		tbl.rawPut( "send_error", new LuanJavaFunction(
+			HttpServletResponse.class.getMethod( "sendError", Integer.TYPE, String.class ), response
+		) );
 		LuanTable headers = new NameMeta() {
 
 			@Override Object get(String name) {
@@ -393,20 +392,6 @@
 		return request.getParameterValues(name);
 	}
 
-	public void send_redirect(String redirectUrl)
-		throws IOException
-	{
-		response.sendRedirect(redirectUrl);
-		throw new LuanExitException();
-	}
-
-	public void send_error(int code,String text)
-		throws IOException
-	{
-		response.sendError(code, text);
-		throw new LuanExitException();
-	}
-
 	public void set_cookie(String name,String value,boolean isPersistent, String domain) {
 		setCookie(request,response,name,value,isPersistent,domain);
 	}