diff src/luan/modules/http/HttpServicer.java @ 1283:503bde9a7c80

add luan.require() and table.call()
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 21 Dec 2018 09:12:09 -0700
parents 9fa8b8389578
children 25746915a241
line wrap: on
line diff
--- a/src/luan/modules/http/HttpServicer.java	Thu Dec 20 17:44:34 2018 -0700
+++ b/src/luan/modules/http/HttpServicer.java	Fri Dec 21 09:12:09 2018 -0700
@@ -33,9 +33,8 @@
 			LuanCloner cloner = new LuanCloner(LuanCloner.Type.INCREMENTAL);
 			luan = (LuanState)cloner.clone(luan);
 		}
-		LuanTable module = (LuanTable)PackageLuan.require(luan,"luan:http/Http.luan");
-		LuanFunction fn = (LuanFunction)module.rawGet("handle_error");
-		return (Response)fn.call( luan, new Object[]{request,e.table(luan)} );
+		LuanTable module = (LuanTable)luan.require("luan:http/Http.luan");
+		return (Response)module.call( "handle_error", request, e.table(luan) );
 	}
 
 	private static Response serviceLuan(LuanState luan,Request request,String modName)
@@ -55,21 +54,13 @@
 			fn = (LuanFunction)cloner.get(mod);
 		}
 
-		LuanTable module = (LuanTable)PackageLuan.require(luan,"luan:http/Http.luan");
-
-		// request
-		LuanFunction newRequestFn = (LuanFunction)module.rawGet("new_request");
-		newRequestFn.call( luan, new Object[]{request} );
-
-		// response
-		LuanFunction newResponseFn = (LuanFunction)module.rawGet("new_response");
-		newResponseFn.call(luan);
+		LuanTable module = (LuanTable)luan.require("luan:http/Http.luan");
+		module.call( "new_request", request );
+		module.call( "new_response" );
 
 		fn.call(luan);
 
-		LuanFunction finishFn = (LuanFunction)module.rawGet("finish");
-		Response response = (Response)finishFn.call(luan);
-		return response;
+		return (Response)module.call( "finish" );
 	}
 
 	private HttpServicer() {}  // never