]> granicus.if.org Git - apache/commitdiff
expose ap_construct_url to lua scripts
authorEric Covener <covener@apache.org>
Sat, 22 Oct 2011 18:07:43 +0000 (18:07 +0000)
committerEric Covener <covener@apache.org>
Sat, 22 Oct 2011 18:07:43 +0000 (18:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1187743 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/lua/lua_request.c

diff --git a/CHANGES b/CHANGES
index 28d8a9ef089e98643847a81dd25ecf33427dbd3f..366a1d38cca351246d0e5832d27f068bd995868a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,9 @@ Changes with Apache 2.3.15
      PR 51714. [Stefan Fritsch, Jim Jagielski, Ruediger Pluem, Eric Covener,
      <lowprio20 gmail.com>]
 
+  *) mod_lua: add r:construct_url as a wrapper for ap_construct_url.
+     [Eric Covener]
   *) mod_remote_ip: Fix configuration of internal proxies. PR 49272.
      [Jim Riggs <jim riggs me>]
 
index afa606df1502a06e6372bafa91116ce317a5c98d..b731881fd0cc9c0badcd394d0a00aabee238ecaf 100644 (file)
@@ -200,6 +200,14 @@ static int req_add_output_filter(lua_State *L)
     return 0;
 }
 
+/* wrap ap_construct_url as r:construct_url(String) */
+static int req_construct_url(lua_State *L)
+{
+    request_rec *r = ap_lua_check_request_rec(L, 1);
+    const char *name = luaL_checkstring(L, 2);
+    lua_pushstring(L, ap_construct_url(r->pool, name, r));
+    return 1;
+}
 /* BEGIN dispatch mathods for request_rec fields */
 
 /* not really a field, but we treat it like one */
@@ -549,6 +557,8 @@ AP_LUA_DECLARE(void) ap_lua_load_request_lmodule(lua_State *L, apr_pool_t *p)
                  makefun(&req_emerg, APL_REQ_FUNTYPE_LUACFUN, p));
     apr_hash_set(dispatch, "add_output_filter", APR_HASH_KEY_STRING,
                  makefun(&req_add_output_filter, APL_REQ_FUNTYPE_LUACFUN, p));
+    apr_hash_set(dispatch, "construct_url", APR_HASH_KEY_STRING,
+                 makefun(&req_construct_url, APL_REQ_FUNTYPE_LUACFUN, p));
     apr_hash_set(dispatch, "assbackwards", APR_HASH_KEY_STRING,
                  makefun(&req_assbackwards_field, APL_REQ_FUNTYPE_BOOLEAN, p));
     apr_hash_set(dispatch, "status", APR_HASH_KEY_STRING,