}
/* wrap ap_escape_html r:escape_html(String) */
-static char * req_escape_html(lua_State *L)
+static int req_escape_html(lua_State *L)
{
request_rec *r = ap_lua_check_request_rec(L, 1);
const char *s = luaL_checkstring(L, 2);
lua_pushstring(L, ap_escape_html(r->pool, s));
return 1;
}
+/* wrap optional ssl_var_lookup as r:ssl_var_lookup(String) */
+static int req_ssl_var_lookup(lua_State *L)
+{
+ request_rec *r = ap_lua_check_request_rec(L, 1);
+ const char *s = luaL_checkstring(L, 2);
+ const char *res = ap_lua_ssl_val(r->pool, r->server, r->connection, r,
+ (char *)s);
+ lua_pushstring(L, res);
+ return 1;
+}
/* BEGIN dispatch mathods for request_rec fields */
/* not really a field, but we treat it like one */
return r->notes;
}
+static int req_ssl_is_https_field(request_rec *r)
+{
+ return ap_lua_ssl_is_https(r->connection);
+}
+
/* END dispatch mathods for request_rec fields */
static int req_dispatch(lua_State *L)
return 0;
}
+#define APLUA_REQ_TRACE(lev) static int req_trace##lev(lua_State *L) \
+{ \
+ req_log_at(L, APLOG_TRACE##lev); \
+ return 0; \
+}
+
+APLUA_REQ_TRACE(1)
+APLUA_REQ_TRACE(2)
+APLUA_REQ_TRACE(3)
+APLUA_REQ_TRACE(4)
+APLUA_REQ_TRACE(5)
+APLUA_REQ_TRACE(6)
+APLUA_REQ_TRACE(7)
+APLUA_REQ_TRACE(8)
+
/* handle r.status = 201 */
static int req_newindex(lua_State *L)
{
makefun(&req_alert, APL_REQ_FUNTYPE_LUACFUN, p));
apr_hash_set(dispatch, "emerg", APR_HASH_KEY_STRING,
makefun(&req_emerg, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace1", APR_HASH_KEY_STRING,
+ makefun(&req_trace1, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace2", APR_HASH_KEY_STRING,
+ makefun(&req_trace2, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace3", APR_HASH_KEY_STRING,
+ makefun(&req_trace3, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace4", APR_HASH_KEY_STRING,
+ makefun(&req_trace4, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace5", APR_HASH_KEY_STRING,
+ makefun(&req_trace5, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace6", APR_HASH_KEY_STRING,
+ makefun(&req_trace6, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace7", APR_HASH_KEY_STRING,
+ makefun(&req_trace7, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "trace8", APR_HASH_KEY_STRING,
+ makefun(&req_trace8, 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, "escape_html", APR_HASH_KEY_STRING,
makefun(&req_escape_html, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "ssl_var_lookup", APR_HASH_KEY_STRING,
+ makefun(&req_ssl_var_lookup, APL_REQ_FUNTYPE_LUACFUN, p));
+ apr_hash_set(dispatch, "is_https", APR_HASH_KEY_STRING,
+ makefun(&req_ssl_is_https_field, APL_REQ_FUNTYPE_BOOLEAN, 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,
ap_lua_push_apr_table(L, c->notes);
lua_setfield(L, -2, "notes");
- lua_pushstring(L, c->remote_ip);
+ lua_pushstring(L, c->peer_ip);
lua_setfield(L, -2, "remote_ip");
lua_pop(L, 1);