You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ki...@apache.org on 2014/05/11 22:40:18 UTC
[1/3] TS:2716 fix indentation for ts_lua plugin
Repository: trafficserver
Updated Branches:
refs/heads/master 02cc2aa54 -> 630079273
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_util.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_util.h b/plugins/experimental/ts_lua/ts_lua_util.h
index 8255a7f..c30a249 100644
--- a/plugins/experimental/ts_lua/ts_lua_util.h
+++ b/plugins/experimental/ts_lua/ts_lua_util.h
@@ -22,24 +22,23 @@
#include "ts_lua_common.h"
-int ts_lua_create_vm(ts_lua_main_ctx *arr, int n);
-void ts_lua_destroy_vm(ts_lua_main_ctx *arr, int n);
+int ts_lua_create_vm(ts_lua_main_ctx * arr, int n);
+void ts_lua_destroy_vm(ts_lua_main_ctx * arr, int n);
-int ts_lua_add_module(ts_lua_instance_conf *conf, ts_lua_main_ctx *arr, int n, int argc, char *argv[]);
+int ts_lua_add_module(ts_lua_instance_conf * conf, ts_lua_main_ctx * arr, int n, int argc, char *argv[]);
-void ts_lua_set_http_ctx(lua_State *L, ts_lua_http_ctx *ctx);
-ts_lua_http_ctx * ts_lua_get_http_ctx(lua_State *L);
+void ts_lua_set_http_ctx(lua_State * L, ts_lua_http_ctx * ctx);
+ts_lua_http_ctx *ts_lua_get_http_ctx(lua_State * L);
-ts_lua_http_ctx * ts_lua_create_http_ctx(ts_lua_main_ctx *mctx, ts_lua_instance_conf *conf);
-void ts_lua_destroy_http_ctx(ts_lua_http_ctx* http_ctx);
+ts_lua_http_ctx *ts_lua_create_http_ctx(ts_lua_main_ctx * mctx, ts_lua_instance_conf * conf);
+void ts_lua_destroy_http_ctx(ts_lua_http_ctx * http_ctx);
-void ts_lua_destroy_transform_ctx(ts_lua_transform_ctx *transform_ctx);
+void ts_lua_destroy_transform_ctx(ts_lua_transform_ctx * transform_ctx);
-ts_lua_http_intercept_ctx * ts_lua_create_http_intercept_ctx(ts_lua_http_ctx *http_ctx);
-ts_lua_http_intercept_ctx * ts_lua_get_http_intercept_ctx(lua_State *L);
-void ts_lua_destroy_http_intercept_ctx(ts_lua_http_intercept_ctx *ictx);
+ts_lua_http_intercept_ctx *ts_lua_create_http_intercept_ctx(ts_lua_http_ctx * http_ctx);
+ts_lua_http_intercept_ctx *ts_lua_get_http_intercept_ctx(lua_State * L);
+void ts_lua_destroy_http_intercept_ctx(ts_lua_http_intercept_ctx * ictx);
int ts_lua_http_cont_handler(TSCont contp, TSEvent event, void *edata);
#endif
-
[3/3] git commit: TS:2716 fix indentation for ts_lua plugin
Posted by ki...@apache.org.
TS:2716 fix indentation for ts_lua plugin
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/63007927
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/63007927
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/63007927
Branch: refs/heads/master
Commit: 630079273db3f16baca045ac72441e0442c90759
Parents: 02cc2aa
Author: Kit Chan <ki...@apache.org>
Authored: Sun May 11 20:37:58 2014 +0000
Committer: Kit Chan <ki...@apache.org>
Committed: Sun May 11 20:37:58 2014 +0000
----------------------------------------------------------------------
CHANGES | 2 +
plugins/experimental/ts_lua/ts_lua.c | 282 ++++----
plugins/experimental/ts_lua/ts_lua_atomic.c | 62 +-
plugins/experimental/ts_lua/ts_lua_atomic.h | 7 +-
.../ts_lua/ts_lua_cached_response.c | 57 +-
.../ts_lua/ts_lua_cached_response.h | 3 +-
.../experimental/ts_lua/ts_lua_client_request.c | 637 ++++++++++---------
.../experimental/ts_lua/ts_lua_client_request.h | 3 +-
.../ts_lua/ts_lua_client_response.c | 220 +++----
.../ts_lua/ts_lua_client_response.h | 3 +-
plugins/experimental/ts_lua/ts_lua_common.h | 99 +--
plugins/experimental/ts_lua/ts_lua_context.c | 79 ++-
plugins/experimental/ts_lua/ts_lua_context.h | 5 +-
plugins/experimental/ts_lua/ts_lua_hook.c | 192 +++---
plugins/experimental/ts_lua/ts_lua_hook.h | 3 +-
plugins/experimental/ts_lua/ts_lua_http.c | 232 +++----
plugins/experimental/ts_lua/ts_lua_http.h | 3 +-
.../experimental/ts_lua/ts_lua_http_intercept.c | 344 +++++-----
.../experimental/ts_lua/ts_lua_http_intercept.h | 3 +-
plugins/experimental/ts_lua/ts_lua_log.c | 107 ++--
plugins/experimental/ts_lua/ts_lua_log.h | 2 +-
plugins/experimental/ts_lua/ts_lua_misc.c | 79 ++-
plugins/experimental/ts_lua/ts_lua_misc.h | 3 +-
plugins/experimental/ts_lua/ts_lua_remap.c | 54 +-
plugins/experimental/ts_lua/ts_lua_remap.h | 3 +-
.../experimental/ts_lua/ts_lua_server_request.c | 227 +++----
.../experimental/ts_lua/ts_lua_server_request.h | 3 +-
.../ts_lua/ts_lua_server_response.c | 213 ++++---
.../ts_lua/ts_lua_server_response.h | 3 +-
plugins/experimental/ts_lua/ts_lua_transform.c | 227 ++++---
plugins/experimental/ts_lua/ts_lua_transform.h | 1 -
plugins/experimental/ts_lua/ts_lua_util.c | 533 ++++++++--------
plugins/experimental/ts_lua/ts_lua_util.h | 23 +-
33 files changed, 1858 insertions(+), 1856 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 1861f45..7ed749a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 5.0.0
+ *) [TS-2716] Fix indentation for ts_lua plugin.
+
*) [TS-2789] Typo in HttpSessionManger would cause ATS reuse wrong session to origin server.
*) [TS-2636] Enhance ATS custom logging to support WIPE_FIELD_VALUE filter action
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua.c b/plugins/experimental/ts_lua/ts_lua.c
index 59b1019..6c4678e 100644
--- a/plugins/experimental/ts_lua/ts_lua.c
+++ b/plugins/experimental/ts_lua/ts_lua.c
@@ -28,128 +28,128 @@
static volatile int32_t ts_lua_http_next_id = 0;
static volatile int32_t ts_lua_g_http_next_id = 0;
-static ts_lua_main_ctx *ts_lua_main_ctx_array;
-static ts_lua_main_ctx *ts_lua_g_main_ctx_array;
+static ts_lua_main_ctx *ts_lua_main_ctx_array;
+static ts_lua_main_ctx *ts_lua_g_main_ctx_array;
TSReturnCode
-TSRemapInit(TSRemapInterface *api_info, char * errbuf ATS_UNUSED , int errbuf_size ATS_UNUSED )
+TSRemapInit(TSRemapInterface * api_info, char *errbuf ATS_UNUSED, int errbuf_size ATS_UNUSED)
{
- int ret;
+ int ret;
- if (!api_info || api_info->size < sizeof(TSRemapInterface))
- return TS_ERROR;
+ if (!api_info || api_info->size < sizeof(TSRemapInterface))
+ return TS_ERROR;
- ts_lua_main_ctx_array = TSmalloc(sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
- memset(ts_lua_main_ctx_array, 0, sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
+ ts_lua_main_ctx_array = TSmalloc(sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
+ memset(ts_lua_main_ctx_array, 0, sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
- ret = ts_lua_create_vm(ts_lua_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
+ ret = ts_lua_create_vm(ts_lua_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
- if (ret) {
- ts_lua_destroy_vm(ts_lua_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
- TSfree(ts_lua_main_ctx_array);
- return TS_ERROR;
- }
+ if (ret) {
+ ts_lua_destroy_vm(ts_lua_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
+ TSfree(ts_lua_main_ctx_array);
+ return TS_ERROR;
+ }
- return TS_SUCCESS;
+ return TS_SUCCESS;
}
TSReturnCode
-TSRemapNewInstance(int argc, char* argv[], void** ih, char* errbuf ATS_UNUSED , int errbuf_size ATS_UNUSED )
+TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuf ATS_UNUSED, int errbuf_size ATS_UNUSED)
{
- int ret = 0;
+ int ret = 0;
- if (argc < 3) {
- fprintf(stderr, "[%s] lua script file required !!", __FUNCTION__);
- return TS_ERROR;
- }
+ if (argc < 3) {
+ fprintf(stderr, "[%s] lua script file required !!", __FUNCTION__);
+ return TS_ERROR;
+ }
- if (strlen(argv[2]) >= TS_LUA_MAX_SCRIPT_FNAME_LENGTH - 16)
- return TS_ERROR;
+ if (strlen(argv[2]) >= TS_LUA_MAX_SCRIPT_FNAME_LENGTH - 16)
+ return TS_ERROR;
- ts_lua_instance_conf *conf = TSmalloc(sizeof(ts_lua_instance_conf));
- if (!conf) {
- fprintf(stderr, "[%s] TSmalloc failed !!", __FUNCTION__);
- return TS_ERROR;
- }
+ ts_lua_instance_conf *conf = TSmalloc(sizeof(ts_lua_instance_conf));
+ if (!conf) {
+ fprintf(stderr, "[%s] TSmalloc failed !!", __FUNCTION__);
+ return TS_ERROR;
+ }
- sprintf(conf->script, "%s", argv[2]);
+ sprintf(conf->script, "%s", argv[2]);
- ret = ts_lua_add_module(conf, ts_lua_main_ctx_array, TS_LUA_MAX_STATE_COUNT, argc-2, &argv[2]);
+ ret = ts_lua_add_module(conf, ts_lua_main_ctx_array, TS_LUA_MAX_STATE_COUNT, argc - 2, &argv[2]);
- if (ret != 0) {
- fprintf(stderr, "[%s] ts_lua_add_module failed", __FUNCTION__);
- return TS_ERROR;
- }
+ if (ret != 0) {
+ fprintf(stderr, "[%s] ts_lua_add_module failed", __FUNCTION__);
+ return TS_ERROR;
+ }
- *ih = conf;
+ *ih = conf;
- return TS_SUCCESS;
+ return TS_SUCCESS;
}
void
-TSRemapDeleteInstance(void* ih)
+TSRemapDeleteInstance(void *ih)
{
- TSfree(ih);
- return;
+ TSfree(ih);
+ return;
}
TSRemapStatus
-TSRemapDoRemap(void* ih, TSHttpTxn rh, TSRemapRequestInfo *rri)
+TSRemapDoRemap(void *ih, TSHttpTxn rh, TSRemapRequestInfo * rri)
{
- int ret;
- int64_t req_id;
+ int ret;
+ int64_t req_id;
- TSCont contp;
- lua_State *l;
+ TSCont contp;
+ lua_State *l;
- ts_lua_main_ctx *main_ctx;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_main_ctx *main_ctx;
+ ts_lua_http_ctx *http_ctx;
- ts_lua_instance_conf *instance_conf;
+ ts_lua_instance_conf *instance_conf;
- instance_conf = (ts_lua_instance_conf*)ih;
- req_id = (int64_t) ts_lua_atomic_increment((&ts_lua_http_next_id), 1);
+ instance_conf = (ts_lua_instance_conf *) ih;
+ req_id = (int64_t) ts_lua_atomic_increment((&ts_lua_http_next_id), 1);
- main_ctx = &ts_lua_main_ctx_array[req_id%TS_LUA_MAX_STATE_COUNT];
+ main_ctx = &ts_lua_main_ctx_array[req_id % TS_LUA_MAX_STATE_COUNT];
- TSMutexLock(main_ctx->mutexp);
+ TSMutexLock(main_ctx->mutexp);
- http_ctx = ts_lua_create_http_ctx(main_ctx, instance_conf);
+ http_ctx = ts_lua_create_http_ctx(main_ctx, instance_conf);
- http_ctx->txnp = rh;
- http_ctx->client_request_bufp = rri->requestBufp;
- http_ctx->client_request_hdrp = rri->requestHdrp;
- http_ctx->client_request_url = rri->requestUrl;
- http_ctx->remap = 1;
- l = http_ctx->lua;
+ http_ctx->txnp = rh;
+ http_ctx->client_request_bufp = rri->requestBufp;
+ http_ctx->client_request_hdrp = rri->requestHdrp;
+ http_ctx->client_request_url = rri->requestUrl;
+ http_ctx->remap = 1;
+ l = http_ctx->lua;
- lua_getglobal(l, TS_LUA_FUNCTION_REMAP);
- if (lua_type(l, -1) != LUA_TFUNCTION) {
- TSMutexUnlock(main_ctx->mutexp);
- return TSREMAP_NO_REMAP;
- }
+ lua_getglobal(l, TS_LUA_FUNCTION_REMAP);
+ if (lua_type(l, -1) != LUA_TFUNCTION) {
+ TSMutexUnlock(main_ctx->mutexp);
+ return TSREMAP_NO_REMAP;
+ }
- contp = TSContCreate(ts_lua_http_cont_handler, NULL);
- TSContDataSet(contp, http_ctx);
- http_ctx->main_contp = contp;
+ contp = TSContCreate(ts_lua_http_cont_handler, NULL);
+ TSContDataSet(contp, http_ctx);
+ http_ctx->main_contp = contp;
- if (lua_pcall(l, 0, 1, 0) != 0) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
- }
+ if (lua_pcall(l, 0, 1, 0) != 0) {
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
+ }
- ret = lua_tointeger(l, -1);
- lua_pop(l, 1);
+ ret = lua_tointeger(l, -1);
+ lua_pop(l, 1);
- TSHttpTxnHookAdd(rh, TS_HTTP_TXN_CLOSE_HOOK, contp);
+ TSHttpTxnHookAdd(rh, TS_HTTP_TXN_CLOSE_HOOK, contp);
- TSMutexUnlock(main_ctx->mutexp);
+ TSMutexUnlock(main_ctx->mutexp);
- return ret;
+ return ret;
}
static int
-globalHookHandler(TSCont contp, TSEvent event, void *edata)
+globalHookHandler(TSCont contp, TSEvent event, void *edata)
{
TSHttpTxn txnp = (TSHttpTxn) edata;
@@ -157,13 +157,13 @@ globalHookHandler(TSCont contp, TSEvent event, void *edata)
lua_State *l;
- ts_lua_http_ctx *http_ctx = (ts_lua_http_ctx *) TSContDataGet(contp);
+ ts_lua_http_ctx *http_ctx = (ts_lua_http_ctx *) TSContDataGet(contp);
TSMBuffer bufp;
TSMLoc hdr_loc;
TSMLoc url_loc;
- if(TSHttpTxnClientReqGet(txnp, &bufp, &hdr_loc) == TS_SUCCESS) {
+ if (TSHttpTxnClientReqGet(txnp, &bufp, &hdr_loc) == TS_SUCCESS) {
http_ctx->client_request_bufp = bufp;
http_ctx->client_request_hdrp = hdr_loc;
if (TSHttpHdrUrlGet(bufp, hdr_loc, &url_loc) == TS_SUCCESS) {
@@ -171,8 +171,8 @@ globalHookHandler(TSCont contp, TSEvent event, void *edata)
}
}
- if(!http_ctx->client_request_hdrp) {
- TSHttpTxnReenable(txnp,TS_EVENT_HTTP_CONTINUE);
+ if (!http_ctx->client_request_hdrp) {
+ TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
return 0;
}
@@ -206,13 +206,13 @@ globalHookHandler(TSCont contp, TSEvent event, void *edata)
}
if (lua_type(l, -1) != LUA_TFUNCTION) {
- TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
- lua_pop(l, 1);
- return 0;
+ TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
+ lua_pop(l, 1);
+ return 0;
}
if (lua_pcall(l, 0, 1, 0) != 0) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
}
ret = lua_tointeger(l, -1);
@@ -222,8 +222,8 @@ globalHookHandler(TSCont contp, TSEvent event, void *edata)
return ret;
}
-static int
-transactionStartHookHandler(TSCont contp, TSEvent event ATS_UNUSED, void *edata)
+static int
+transactionStartHookHandler(TSCont contp, TSEvent event ATS_UNUSED, void *edata)
{
TSHttpTxn txnp = (TSHttpTxn) edata;
@@ -231,15 +231,15 @@ transactionStartHookHandler(TSCont contp, TSEvent event ATS_UNUSED, void *edata)
TSCont txn_contp;
TSCont global_contp;
- ts_lua_main_ctx *main_ctx;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_main_ctx *main_ctx;
+ ts_lua_http_ctx *http_ctx;
- ts_lua_instance_conf *conf = (ts_lua_instance_conf *)TSContDataGet(contp);
+ ts_lua_instance_conf *conf = (ts_lua_instance_conf *) TSContDataGet(contp);
req_id = (int64_t) ts_lua_atomic_increment((&ts_lua_g_http_next_id), 1);
- main_ctx = &ts_lua_g_main_ctx_array[req_id%TS_LUA_MAX_STATE_COUNT];
+ main_ctx = &ts_lua_g_main_ctx_array[req_id % TS_LUA_MAX_STATE_COUNT];
- TSDebug(TS_LUA_DEBUG_TAG, "[%s] req_id: %" PRId64, __FUNCTION__, req_id);
+ TSDebug(TS_LUA_DEBUG_TAG, "[%s] req_id: %" PRId64, __FUNCTION__, req_id);
TSMutexLock(main_ctx->mutexp);
http_ctx = ts_lua_create_http_ctx(main_ctx, conf);
@@ -256,37 +256,37 @@ transactionStartHookHandler(TSCont contp, TSEvent event ATS_UNUSED, void *edata)
//adding hook based on whether the lua global function exists.
lua_State *l = http_ctx->lua;
-
+
lua_getglobal(l, TS_LUA_FUNCTION_G_SEND_REQUEST);
- if(lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
TSHttpTxnHookAdd(txnp, TS_HTTP_SEND_REQUEST_HDR_HOOK, global_contp);
TSDebug(TS_LUA_DEBUG_TAG, "send_request_hdr_hook added");
}
lua_pop(l, 1);
lua_getglobal(l, TS_LUA_FUNCTION_G_READ_RESPONSE);
- if(lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
TSHttpTxnHookAdd(txnp, TS_HTTP_READ_RESPONSE_HDR_HOOK, global_contp);
TSDebug(TS_LUA_DEBUG_TAG, "read_response_hdr_hook added");
}
lua_pop(l, 1);
-
+
lua_getglobal(l, TS_LUA_FUNCTION_G_SEND_RESPONSE);
- if(lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
TSHttpTxnHookAdd(txnp, TS_HTTP_SEND_RESPONSE_HDR_HOOK, global_contp);
TSDebug(TS_LUA_DEBUG_TAG, "send_response_hdr_hook added");
}
lua_pop(l, 1);
lua_getglobal(l, TS_LUA_FUNCTION_G_CACHE_LOOKUP_COMPLETE);
- if(lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
TSHttpTxnHookAdd(txnp, TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK, global_contp);
TSDebug(TS_LUA_DEBUG_TAG, "cache_lookup_complete_hook added");
}
lua_pop(l, 1);
lua_getglobal(l, TS_LUA_FUNCTION_G_READ_REQUEST);
- if(lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
TSHttpTxnHookAdd(txnp, TS_HTTP_READ_REQUEST_HDR_HOOK, global_contp);
TSDebug(TS_LUA_DEBUG_TAG, "read_request_hdr_hook added");
}
@@ -299,51 +299,51 @@ transactionStartHookHandler(TSCont contp, TSEvent event ATS_UNUSED, void *edata)
}
void
-TSPluginInit(int argc, const char *argv[])
+TSPluginInit(int argc, const char *argv[])
{
- int ret = 0;
- ts_lua_g_main_ctx_array = TSmalloc(sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
- memset(ts_lua_g_main_ctx_array, 0, sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
-
- ret = ts_lua_create_vm(ts_lua_g_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
-
- if (ret) {
- ts_lua_destroy_vm(ts_lua_g_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
- TSfree(ts_lua_g_main_ctx_array);
- return;
- }
-
- if (argc < 2) {
- TSError("[%s] lua script file required !!", __FUNCTION__);
- return;
- }
-
- if (strlen(argv[1]) >= TS_LUA_MAX_SCRIPT_FNAME_LENGTH - 16) {
- TSError("[%s] lua script file name too long !!", __FUNCTION__);
- return;
- }
-
- ts_lua_instance_conf *conf = TSmalloc(sizeof(ts_lua_instance_conf));
- if (!conf) {
- TSError("[%s] TSmalloc failed !!", __FUNCTION__);
- return;
- }
-
- sprintf(conf->script, "%s", argv[1]);
-
- ret = ts_lua_add_module(conf, ts_lua_g_main_ctx_array, TS_LUA_MAX_STATE_COUNT, argc-1, (char**)&argv[1]);
-
- if (ret != 0) {
- TSError("[%s] ts_lua_add_module failed", __FUNCTION__);
- return;
- }
+ int ret = 0;
+ ts_lua_g_main_ctx_array = TSmalloc(sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
+ memset(ts_lua_g_main_ctx_array, 0, sizeof(ts_lua_main_ctx) * TS_LUA_MAX_STATE_COUNT);
- TSCont txn_start_contp = TSContCreate(transactionStartHookHandler, NULL);
- if (!txn_start_contp) {
- TSError("[%s] could not create transaction start continuation", __FUNCTION__ );
- return;
- }
- TSContDataSet(txn_start_contp, conf);
- TSHttpHookAdd(TS_HTTP_TXN_START_HOOK, txn_start_contp);
+ ret = ts_lua_create_vm(ts_lua_g_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
+
+ if (ret) {
+ ts_lua_destroy_vm(ts_lua_g_main_ctx_array, TS_LUA_MAX_STATE_COUNT);
+ TSfree(ts_lua_g_main_ctx_array);
+ return;
+ }
+
+ if (argc < 2) {
+ TSError("[%s] lua script file required !!", __FUNCTION__);
+ return;
+ }
+
+ if (strlen(argv[1]) >= TS_LUA_MAX_SCRIPT_FNAME_LENGTH - 16) {
+ TSError("[%s] lua script file name too long !!", __FUNCTION__);
+ return;
+ }
+
+ ts_lua_instance_conf *conf = TSmalloc(sizeof(ts_lua_instance_conf));
+ if (!conf) {
+ TSError("[%s] TSmalloc failed !!", __FUNCTION__);
+ return;
+ }
+
+ sprintf(conf->script, "%s", argv[1]);
+
+ ret = ts_lua_add_module(conf, ts_lua_g_main_ctx_array, TS_LUA_MAX_STATE_COUNT, argc - 1, (char **) &argv[1]);
+
+ if (ret != 0) {
+ TSError("[%s] ts_lua_add_module failed", __FUNCTION__);
+ return;
+ }
+
+ TSCont txn_start_contp = TSContCreate(transactionStartHookHandler, NULL);
+ if (!txn_start_contp) {
+ TSError("[%s] could not create transaction start continuation", __FUNCTION__);
+ return;
+ }
+ TSContDataSet(txn_start_contp, conf);
+ TSHttpHookAdd(TS_HTTP_TXN_START_HOOK, txn_start_contp);
}
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_atomic.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_atomic.c b/plugins/experimental/ts_lua/ts_lua_atomic.c
index 09a4c2b..12f7266 100644
--- a/plugins/experimental/ts_lua/ts_lua_atomic.c
+++ b/plugins/experimental/ts_lua/ts_lua_atomic.c
@@ -39,60 +39,58 @@ static inline int64_t ts_lua_atomic_cas64(volatile int64_t * mem, int64_t old, i
void
ts_lua_atomiclist_init(ts_lua_atomiclist * l, const char *name, uint32_t offset_to_next)
{
- l->name = name;
- l->offset = offset_to_next;
+ l->name = name;
+ l->offset = offset_to_next;
- SET_FREELIST_POINTER_VERSION(l->head, FROM_PTR(0), 0);
+ SET_FREELIST_POINTER_VERSION(l->head, FROM_PTR(0), 0);
}
void *
ts_lua_atomiclist_push(ts_lua_atomiclist * l, void *item)
{
- int64_t head;
- int64_t item_pair;
- int result = 0;
- volatile void *h = NULL;
+ int64_t head;
+ int64_t item_pair;
+ int result = 0;
+ volatile void *h = NULL;
- volatile void **adr_of_next = (volatile void **) ADDRESS_OF_NEXT(item, l->offset);
+ volatile void **adr_of_next = (volatile void **) ADDRESS_OF_NEXT(item, l->offset);
- do {
- INK_QUEUE_LD64(head, l->head);
- h = FREELIST_POINTER(head);
- *adr_of_next = h;
- SET_FREELIST_POINTER_VERSION(item_pair, FROM_PTR(item), FREELIST_VERSION(head));
- INK_MEMORY_BARRIER;
+ do {
+ INK_QUEUE_LD64(head, l->head);
+ h = FREELIST_POINTER(head);
+ *adr_of_next = h;
+ SET_FREELIST_POINTER_VERSION(item_pair, FROM_PTR(item), FREELIST_VERSION(head));
+ INK_MEMORY_BARRIER;
- result = ts_lua_atomic_cas64((int64_t *) & l->head, head, item_pair);
- } while (result == 0);
+ result = ts_lua_atomic_cas64((int64_t *) & l->head, head, item_pair);
+ } while (result == 0);
- return TO_PTR(h);
+ return TO_PTR(h);
}
void *
ts_lua_atomiclist_popall(ts_lua_atomiclist * l)
{
- int64_t item, next;
- void *ret;
- int result = 0;
+ int64_t item, next;
+ void *ret;
+ int result = 0;
- do {
- INK_QUEUE_LD64(item, l->head);
- if (TO_PTR(FREELIST_POINTER(item)) == NULL)
- return NULL;
+ do {
+ INK_QUEUE_LD64(item, l->head);
+ if (TO_PTR(FREELIST_POINTER(item)) == NULL)
+ return NULL;
- SET_FREELIST_POINTER_VERSION(next, FROM_PTR(NULL), FREELIST_VERSION(item) + 1);
- result = ts_lua_atomic_cas64((int64_t *) & l->head, item, next);
- } while (result == 0);
+ SET_FREELIST_POINTER_VERSION(next, FROM_PTR(NULL), FREELIST_VERSION(item) + 1);
+ result = ts_lua_atomic_cas64((int64_t *) & l->head, item, next);
+ } while (result == 0);
- ret = TO_PTR(FREELIST_POINTER(item));
+ ret = TO_PTR(FREELIST_POINTER(item));
- return ret;
+ return ret;
}
static inline int64_t
ts_lua_atomic_cas64(volatile int64_t * mem, int64_t old, int64_t new_value)
{
- return __sync_bool_compare_and_swap(mem, old, new_value);
+ return __sync_bool_compare_and_swap(mem, old, new_value);
}
-
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_atomic.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_atomic.h b/plugins/experimental/ts_lua/ts_lua_atomic.h
index a3226c8..feca1fe 100644
--- a/plugins/experimental/ts_lua/ts_lua_atomic.h
+++ b/plugins/experimental/ts_lua/ts_lua_atomic.h
@@ -24,7 +24,10 @@
#include <stdlib.h>
#include <stdint.h>
-static inline int ts_lua_atomic_increment(volatile int32_t *mem, int value) { return __sync_fetch_and_add(mem, value); }
+static inline int
+ts_lua_atomic_increment(volatile int32_t * mem, int value)
+{
+ return __sync_fetch_and_add(mem, value);
+}
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_cached_response.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_cached_response.c b/plugins/experimental/ts_lua/ts_lua_cached_response.c
index 728f490..9294fcb 100644
--- a/plugins/experimental/ts_lua/ts_lua_cached_response.c
+++ b/plugins/experimental/ts_lua/ts_lua_cached_response.c
@@ -19,27 +19,27 @@
#include "ts_lua_util.h"
-static void ts_lua_inject_cached_response_header_misc_api(lua_State *L);
-static void ts_lua_inject_cached_response_header_api(lua_State *L);
+static void ts_lua_inject_cached_response_header_misc_api(lua_State * L);
+static void ts_lua_inject_cached_response_header_api(lua_State * L);
-static int ts_lua_cached_response_header_get_status(lua_State *L);
+static int ts_lua_cached_response_header_get_status(lua_State * L);
void
-ts_lua_inject_cached_response_api(lua_State *L)
+ts_lua_inject_cached_response_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_cached_response_header_api(L);
+ ts_lua_inject_cached_response_header_api(L);
- lua_setfield(L, -2, "cached_response");
+ lua_setfield(L, -2, "cached_response");
}
static void
-ts_lua_inject_cached_response_header_api(lua_State *L)
+ts_lua_inject_cached_response_header_api(lua_State * L)
{
- lua_newtable(L); /* .header */
- ts_lua_inject_cached_response_header_misc_api(L);
+ lua_newtable(L); /* .header */
+ ts_lua_inject_cached_response_header_misc_api(L);
/*
lua_createtable(L, 0, 2);
@@ -50,39 +50,38 @@ ts_lua_inject_cached_response_header_api(lua_State *L)
lua_setmetatable(L, -2);
*/
- lua_setfield(L, -2, "header");
+ lua_setfield(L, -2, "header");
- return;
+ return;
}
static void
-ts_lua_inject_cached_response_header_misc_api(lua_State *L)
+ts_lua_inject_cached_response_header_misc_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_cached_response_header_get_status);
- lua_setfield(L, -2, "get_status");
+ lua_pushcfunction(L, ts_lua_cached_response_header_get_status);
+ lua_setfield(L, -2, "get_status");
}
static int
-ts_lua_cached_response_header_get_status(lua_State *L)
+ts_lua_cached_response_header_get_status(lua_State * L)
{
- int status;
- ts_lua_http_ctx *http_ctx;
+ int status;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- if (!http_ctx->cached_response_hdrp) {
- if (TSHttpTxnCachedRespGet(http_ctx->txnp, &http_ctx->cached_response_bufp,
- &http_ctx->cached_response_hdrp) != TS_SUCCESS) {
+ if (!http_ctx->cached_response_hdrp) {
+ if (TSHttpTxnCachedRespGet(http_ctx->txnp, &http_ctx->cached_response_bufp,
+ &http_ctx->cached_response_hdrp) != TS_SUCCESS) {
- lua_pushnil(L);
- return 1;
- }
+ lua_pushnil(L);
+ return 1;
}
+ }
- status = TSHttpHdrStatusGet(http_ctx->cached_response_bufp, http_ctx->cached_response_hdrp);
+ status = TSHttpHdrStatusGet(http_ctx->cached_response_bufp, http_ctx->cached_response_hdrp);
- lua_pushinteger(L, status);
+ lua_pushinteger(L, status);
- return 1;
+ return 1;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_cached_response.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_cached_response.h b/plugins/experimental/ts_lua/ts_lua_cached_response.h
index 85fafd1..6865ba5 100644
--- a/plugins/experimental/ts_lua/ts_lua_cached_response.h
+++ b/plugins/experimental/ts_lua/ts_lua_cached_response.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_cached_response_api(lua_State *L);
+void ts_lua_inject_cached_response_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_client_request.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_client_request.c b/plugins/experimental/ts_lua/ts_lua_client_request.c
index e277de7..19aa2f0 100644
--- a/plugins/experimental/ts_lua/ts_lua_client_request.c
+++ b/plugins/experimental/ts_lua/ts_lua_client_request.c
@@ -20,536 +20,539 @@
#include "ink_platform.h"
#include "ts_lua_util.h"
-static void ts_lua_inject_client_request_client_addr_api(lua_State *L);
-static void ts_lua_inject_client_request_server_addr_api(lua_State *L);
-
-static int ts_lua_client_request_header_get(lua_State *L);
-static int ts_lua_client_request_header_set(lua_State *L);
-static int ts_lua_client_request_get_url(lua_State *L);
-static int ts_lua_client_request_get_pristine_url(lua_State *L);
-static int ts_lua_client_request_get_uri(lua_State *L);
-static int ts_lua_client_request_set_uri(lua_State *L);
-static int ts_lua_client_request_set_uri_args(lua_State *L);
-static int ts_lua_client_request_get_uri_args(lua_State *L);
-static int ts_lua_client_request_get_method(lua_State *L);
-static int ts_lua_client_request_set_method(lua_State *L);
+static void ts_lua_inject_client_request_client_addr_api(lua_State * L);
+static void ts_lua_inject_client_request_server_addr_api(lua_State * L);
+
+static int ts_lua_client_request_header_get(lua_State * L);
+static int ts_lua_client_request_header_set(lua_State * L);
+static int ts_lua_client_request_get_url(lua_State * L);
+static int ts_lua_client_request_get_pristine_url(lua_State * L);
+static int ts_lua_client_request_get_uri(lua_State * L);
+static int ts_lua_client_request_set_uri(lua_State * L);
+static int ts_lua_client_request_set_uri_args(lua_State * L);
+static int ts_lua_client_request_get_uri_args(lua_State * L);
+static int ts_lua_client_request_get_method(lua_State * L);
+static int ts_lua_client_request_set_method(lua_State * L);
static int ts_lua_client_request_get_body_size(lua_State * L);
-static int ts_lua_client_request_get_header_size(lua_State *L);
+static int ts_lua_client_request_get_header_size(lua_State * L);
-static void ts_lua_inject_client_request_socket_api(lua_State *L);
-static void ts_lua_inject_client_request_header_api(lua_State *L);
-static void ts_lua_inject_client_request_url_api(lua_State *L);
-static void ts_lua_inject_client_request_uri_api(lua_State *L);
-static void ts_lua_inject_client_request_args_api(lua_State *L);
-static void ts_lua_inject_client_request_method_api(lua_State *L);
-static void ts_lua_inject_client_request_body_size_api(lua_State *L);
-static void ts_lua_inject_client_request_header_size_api(lua_State *L);
+static void ts_lua_inject_client_request_socket_api(lua_State * L);
+static void ts_lua_inject_client_request_header_api(lua_State * L);
+static void ts_lua_inject_client_request_url_api(lua_State * L);
+static void ts_lua_inject_client_request_uri_api(lua_State * L);
+static void ts_lua_inject_client_request_args_api(lua_State * L);
+static void ts_lua_inject_client_request_method_api(lua_State * L);
+static void ts_lua_inject_client_request_body_size_api(lua_State * L);
+static void ts_lua_inject_client_request_header_size_api(lua_State * L);
-static int ts_lua_client_request_client_addr_get_ip(lua_State *L);
-static int ts_lua_client_request_client_addr_get_port(lua_State *L);
-static int ts_lua_client_request_client_addr_get_addr(lua_State *L);
+static int ts_lua_client_request_client_addr_get_ip(lua_State * L);
+static int ts_lua_client_request_client_addr_get_port(lua_State * L);
+static int ts_lua_client_request_client_addr_get_addr(lua_State * L);
void
-ts_lua_inject_client_request_api(lua_State *L)
+ts_lua_inject_client_request_api(lua_State * L)
{
- lua_newtable(L);
-
- ts_lua_inject_client_request_socket_api(L);
- ts_lua_inject_client_request_header_api(L);
- ts_lua_inject_client_request_url_api(L);
- ts_lua_inject_client_request_uri_api(L);
- ts_lua_inject_client_request_args_api(L);
- ts_lua_inject_client_request_method_api(L);
- ts_lua_inject_client_request_body_size_api(L);
- ts_lua_inject_client_request_header_size_api(L);
-
- lua_setfield(L, -2, "client_request");
+ lua_newtable(L);
+
+ ts_lua_inject_client_request_socket_api(L);
+ ts_lua_inject_client_request_header_api(L);
+ ts_lua_inject_client_request_url_api(L);
+ ts_lua_inject_client_request_uri_api(L);
+ ts_lua_inject_client_request_args_api(L);
+ ts_lua_inject_client_request_method_api(L);
+ ts_lua_inject_client_request_body_size_api(L);
+ ts_lua_inject_client_request_header_size_api(L);
+
+ lua_setfield(L, -2, "client_request");
}
static void
-ts_lua_inject_client_request_socket_api(lua_State *L)
+ts_lua_inject_client_request_socket_api(lua_State * L)
{
- ts_lua_inject_client_request_client_addr_api(L);
- ts_lua_inject_client_request_server_addr_api(L);
+ ts_lua_inject_client_request_client_addr_api(L);
+ ts_lua_inject_client_request_server_addr_api(L);
}
static void
-ts_lua_inject_client_request_client_addr_api(lua_State *L)
+ts_lua_inject_client_request_client_addr_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- lua_pushcfunction(L, ts_lua_client_request_client_addr_get_ip);
- lua_setfield(L, -2, "get_ip");
+ lua_pushcfunction(L, ts_lua_client_request_client_addr_get_ip);
+ lua_setfield(L, -2, "get_ip");
- lua_pushcfunction(L, ts_lua_client_request_client_addr_get_port);
- lua_setfield(L, -2, "get_port");
+ lua_pushcfunction(L, ts_lua_client_request_client_addr_get_port);
+ lua_setfield(L, -2, "get_port");
- lua_pushcfunction(L, ts_lua_client_request_client_addr_get_addr);
- lua_setfield(L, -2, "get_addr");
+ lua_pushcfunction(L, ts_lua_client_request_client_addr_get_addr);
+ lua_setfield(L, -2, "get_addr");
- lua_setfield(L, -2, "client_addr");
+ lua_setfield(L, -2, "client_addr");
}
static void
-ts_lua_inject_client_request_server_addr_api(lua_State *L ATS_UNUSED)
+ts_lua_inject_client_request_server_addr_api(lua_State * L ATS_UNUSED)
{
- return;
+ return;
}
static void
-ts_lua_inject_client_request_header_api(lua_State *L)
+ts_lua_inject_client_request_header_api(lua_State * L)
{
- lua_newtable(L); /* .header */
+ lua_newtable(L); /* .header */
- lua_createtable(L, 0, 2); /* metatable for .header */
+ lua_createtable(L, 0, 2); /* metatable for .header */
- lua_pushcfunction(L, ts_lua_client_request_header_get);
- lua_setfield(L, -2, "__index");
- lua_pushcfunction(L, ts_lua_client_request_header_set);
- lua_setfield(L, -2, "__newindex");
+ lua_pushcfunction(L, ts_lua_client_request_header_get);
+ lua_setfield(L, -2, "__index");
+ lua_pushcfunction(L, ts_lua_client_request_header_set);
+ lua_setfield(L, -2, "__newindex");
- lua_setmetatable(L, -2);
+ lua_setmetatable(L, -2);
- lua_setfield(L, -2, "header");
+ lua_setfield(L, -2, "header");
}
static int
-ts_lua_client_request_header_get(lua_State *L)
+ts_lua_client_request_header_get(lua_State * L)
{
- const char *key;
- const char *val;
- int val_len;
- size_t key_len;
+ const char *key;
+ const char *val;
+ int val_len;
+ size_t key_len;
- TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ TSMLoc field_loc;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
- if (key && key_len) {
+ if (key && key_len) {
- field_loc = TSMimeHdrFieldFind(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, key, key_len);
- if (field_loc) {
- val = TSMimeHdrFieldValueStringGet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc, -1, &val_len);
- lua_pushlstring(L, val, val_len);
- TSHandleMLocRelease(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
-
- } else {
- lua_pushnil(L);
- }
+ field_loc = TSMimeHdrFieldFind(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, key, key_len);
+ if (field_loc) {
+ val =
+ TSMimeHdrFieldValueStringGet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc, -1,
+ &val_len);
+ lua_pushlstring(L, val, val_len);
+ TSHandleMLocRelease(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
} else {
- lua_pushnil(L);
+ lua_pushnil(L);
}
- return 1;
+ } else {
+ lua_pushnil(L);
+ }
+
+ return 1;
}
static int
-ts_lua_client_request_header_set(lua_State *L)
+ts_lua_client_request_header_set(lua_State * L)
{
- const char *key;
- const char *val;
- size_t val_len;
- size_t key_len;
- int remove;
+ const char *key;
+ const char *val;
+ size_t val_len;
+ size_t key_len;
+ int remove;
- TSMLoc field_loc;
+ TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- remove = 0;
- val = NULL;
+ remove = 0;
+ val = NULL;
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
- if (lua_isnil(L, 3)) {
- remove = 1;
- } else {
- val = luaL_checklstring(L, 3, &val_len);
- }
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
+ if (lua_isnil(L, 3)) {
+ remove = 1;
+ } else {
+ val = luaL_checklstring(L, 3, &val_len);
+ }
- field_loc = TSMimeHdrFieldFind(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, key, key_len);
+ field_loc = TSMimeHdrFieldFind(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, key, key_len);
- if (remove) {
- if (field_loc) {
- TSMimeHdrFieldDestroy(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
- }
+ if (remove) {
+ if (field_loc) {
+ TSMimeHdrFieldDestroy(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
+ }
- } else if (field_loc) {
- TSMimeHdrFieldValueStringSet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc, 0, val, val_len);
+ } else if (field_loc) {
+ TSMimeHdrFieldValueStringSet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc, 0, val,
+ val_len);
- } else if (TSMimeHdrFieldCreateNamed(http_ctx->client_request_bufp, http_ctx->client_request_hdrp,
- key, key_len, &field_loc) != TS_SUCCESS) {
- TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
- return 0;
+ } else if (TSMimeHdrFieldCreateNamed(http_ctx->client_request_bufp, http_ctx->client_request_hdrp,
+ key, key_len, &field_loc) != TS_SUCCESS) {
+ TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
+ return 0;
- } else {
- TSMimeHdrFieldValueStringSet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc, -1, val, val_len);
- TSMimeHdrFieldAppend(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
- }
+ } else {
+ TSMimeHdrFieldValueStringSet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc, -1, val,
+ val_len);
+ TSMimeHdrFieldAppend(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
+ }
- if (field_loc)
- TSHandleMLocRelease(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
+ if (field_loc)
+ TSHandleMLocRelease(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, field_loc);
- return 0;
+ return 0;
}
static void
-ts_lua_inject_client_request_url_api(lua_State *L)
+ts_lua_inject_client_request_url_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_request_get_url);
- lua_setfield(L, -2, "get_url");
+ lua_pushcfunction(L, ts_lua_client_request_get_url);
+ lua_setfield(L, -2, "get_url");
- lua_pushcfunction(L, ts_lua_client_request_get_pristine_url);
- lua_setfield(L, -2, "get_pristine_url");
+ lua_pushcfunction(L, ts_lua_client_request_get_pristine_url);
+ lua_setfield(L, -2, "get_pristine_url");
}
static void
-ts_lua_inject_client_request_uri_api(lua_State *L)
+ts_lua_inject_client_request_uri_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_request_set_uri);
- lua_setfield(L, -2, "set_uri");
+ lua_pushcfunction(L, ts_lua_client_request_set_uri);
+ lua_setfield(L, -2, "set_uri");
- lua_pushcfunction(L, ts_lua_client_request_get_uri);
- lua_setfield(L, -2, "get_uri");
+ lua_pushcfunction(L, ts_lua_client_request_get_uri);
+ lua_setfield(L, -2, "get_uri");
}
static int
-ts_lua_client_request_get_url(lua_State *L)
+ts_lua_client_request_get_url(lua_State * L)
{
- char *url;
- int url_len;
+ char *url;
+ int url_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- url = TSUrlStringGet(http_ctx->client_request_bufp, http_ctx->client_request_url, &url_len);
+ url = TSUrlStringGet(http_ctx->client_request_bufp, http_ctx->client_request_url, &url_len);
- if (url) {
- lua_pushlstring(L, url, url_len);
- TSfree(url);
+ if (url) {
+ lua_pushlstring(L, url, url_len);
+ TSfree(url);
- } else {
- lua_pushnil(L);
- }
+ } else {
+ lua_pushnil(L);
+ }
- return 1;
+ return 1;
}
static int
-ts_lua_client_request_get_pristine_url(lua_State *L)
+ts_lua_client_request_get_pristine_url(lua_State * L)
{
- char *url;
- int url_len;
+ char *url;
+ int url_len;
- TSMBuffer bufp;
- TSMLoc url_loc;
+ TSMBuffer bufp;
+ TSMLoc url_loc;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- if (TSHttpTxnPristineUrlGet(http_ctx->txnp, &bufp, &url_loc) != TS_SUCCESS)
- return 0;
+ if (TSHttpTxnPristineUrlGet(http_ctx->txnp, &bufp, &url_loc) != TS_SUCCESS)
+ return 0;
- url = TSUrlStringGet(bufp, url_loc, &url_len);
+ url = TSUrlStringGet(bufp, url_loc, &url_len);
- if (url) {
- lua_pushlstring(L, url, url_len);
- TSfree(url);
+ if (url) {
+ lua_pushlstring(L, url, url_len);
+ TSfree(url);
- } else {
- lua_pushnil(L);
- }
+ } else {
+ lua_pushnil(L);
+ }
- TSHandleMLocRelease(bufp, NULL, url_loc);
+ TSHandleMLocRelease(bufp, NULL, url_loc);
- return 1;
+ return 1;
}
static int
-ts_lua_client_request_get_uri(lua_State *L)
+ts_lua_client_request_get_uri(lua_State * L)
{
- char uri[TS_LUA_MAX_URL_LENGTH];
- const char *path;
- int path_len;
- int uri_len;
+ char uri[TS_LUA_MAX_URL_LENGTH];
+ const char *path;
+ int path_len;
+ int uri_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- path = TSUrlPathGet(http_ctx->client_request_bufp, http_ctx->client_request_url, &path_len);
+ path = TSUrlPathGet(http_ctx->client_request_bufp, http_ctx->client_request_url, &path_len);
- uri_len = snprintf(uri, TS_LUA_MAX_URL_LENGTH, "/%.*s", path_len, path);
+ uri_len = snprintf(uri, TS_LUA_MAX_URL_LENGTH, "/%.*s", path_len, path);
- lua_pushlstring(L, uri, uri_len);
+ lua_pushlstring(L, uri, uri_len);
- return 1;
+ return 1;
}
static int
-ts_lua_client_request_set_uri(lua_State *L)
+ts_lua_client_request_set_uri(lua_State * L)
{
- const char *path;
- size_t path_len;
+ const char *path;
+ size_t path_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- path = luaL_checklstring(L, 1, &path_len);
+ path = luaL_checklstring(L, 1, &path_len);
- if (*path == '/') {
- path++;
- path_len--;
- }
+ if (*path == '/') {
+ path++;
+ path_len--;
+ }
- TSUrlPathSet(http_ctx->client_request_bufp, http_ctx->client_request_url, path, path_len);
+ TSUrlPathSet(http_ctx->client_request_bufp, http_ctx->client_request_url, path, path_len);
- return 0;
+ return 0;
}
static void
-ts_lua_inject_client_request_args_api(lua_State *L)
+ts_lua_inject_client_request_args_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_request_set_uri_args);
- lua_setfield(L, -2, "set_uri_args");
+ lua_pushcfunction(L, ts_lua_client_request_set_uri_args);
+ lua_setfield(L, -2, "set_uri_args");
- lua_pushcfunction(L, ts_lua_client_request_get_uri_args);
- lua_setfield(L, -2, "get_uri_args");
+ lua_pushcfunction(L, ts_lua_client_request_get_uri_args);
+ lua_setfield(L, -2, "get_uri_args");
}
static int
-ts_lua_client_request_get_uri_args(lua_State *L)
+ts_lua_client_request_get_uri_args(lua_State * L)
{
- const char *param;
- int param_len;
+ const char *param;
+ int param_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- param = TSUrlHttpQueryGet(http_ctx->client_request_bufp, http_ctx->client_request_url, ¶m_len);
+ param = TSUrlHttpQueryGet(http_ctx->client_request_bufp, http_ctx->client_request_url, ¶m_len);
- if (param && param_len > 0) {
- lua_pushlstring(L, param, param_len);
- } else {
- lua_pushnil(L);
- }
+ if (param && param_len > 0) {
+ lua_pushlstring(L, param, param_len);
+ } else {
+ lua_pushnil(L);
+ }
- return 1;
+ return 1;
}
static int
-ts_lua_client_request_set_uri_args(lua_State *L)
+ts_lua_client_request_set_uri_args(lua_State * L)
{
- const char *param;
- size_t param_len;
+ const char *param;
+ size_t param_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- param = luaL_checklstring(L, 1, ¶m_len);
- TSUrlHttpQuerySet(http_ctx->client_request_bufp, http_ctx->client_request_url, param, param_len);
+ param = luaL_checklstring(L, 1, ¶m_len);
+ TSUrlHttpQuerySet(http_ctx->client_request_bufp, http_ctx->client_request_url, param, param_len);
- return 0;
+ return 0;
}
static int
-ts_lua_client_request_client_addr_get_ip(lua_State *L)
+ts_lua_client_request_client_addr_get_ip(lua_State * L)
{
- struct sockaddr const *client_ip;
- char cip[128];
- ts_lua_http_ctx *http_ctx;
+ struct sockaddr const *client_ip;
+ char cip[128];
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- client_ip = TSHttpTxnClientAddrGet(http_ctx->txnp);
+ client_ip = TSHttpTxnClientAddrGet(http_ctx->txnp);
- if (client_ip == NULL) {
- lua_pushnil(L);
+ if (client_ip == NULL) {
+ lua_pushnil(L);
- } else {
+ } else {
- if (client_ip->sa_family == AF_INET) {
- inet_ntop(AF_INET, (const void *)&((struct sockaddr_in *)client_ip)->sin_addr, cip, sizeof(cip));
- } else {
- inet_ntop(AF_INET6, (const void *)&((struct sockaddr_in6 *)client_ip)->sin6_addr, cip, sizeof(cip));
- }
-
- lua_pushstring(L, cip);
+ if (client_ip->sa_family == AF_INET) {
+ inet_ntop(AF_INET, (const void *) &((struct sockaddr_in *) client_ip)->sin_addr, cip, sizeof(cip));
+ } else {
+ inet_ntop(AF_INET6, (const void *) &((struct sockaddr_in6 *) client_ip)->sin6_addr, cip, sizeof(cip));
}
- return 1;
+ lua_pushstring(L, cip);
+ }
+
+ return 1;
}
static int
-ts_lua_client_request_client_addr_get_port(lua_State *L)
+ts_lua_client_request_client_addr_get_port(lua_State * L)
{
- struct sockaddr const *client_ip;
- ts_lua_http_ctx *http_ctx;
- int port;
-
- http_ctx = ts_lua_get_http_ctx(L);
+ struct sockaddr const *client_ip;
+ ts_lua_http_ctx *http_ctx;
+ int port;
- client_ip = TSHttpTxnClientAddrGet(http_ctx->txnp);
+ http_ctx = ts_lua_get_http_ctx(L);
- if (client_ip == NULL) {
- lua_pushnil(L);
+ client_ip = TSHttpTxnClientAddrGet(http_ctx->txnp);
- } else {
+ if (client_ip == NULL) {
+ lua_pushnil(L);
- if (client_ip->sa_family == AF_INET) {
- port = ((struct sockaddr_in *)client_ip)->sin_port;
- } else {
- port = ((struct sockaddr_in6 *)client_ip)->sin6_port;
- }
+ } else {
- lua_pushnumber(L, port);
+ if (client_ip->sa_family == AF_INET) {
+ port = ((struct sockaddr_in *) client_ip)->sin_port;
+ } else {
+ port = ((struct sockaddr_in6 *) client_ip)->sin6_port;
}
- return 1;
+ lua_pushnumber(L, port);
+ }
+
+ return 1;
}
static int
-ts_lua_client_request_client_addr_get_addr(lua_State *L)
+ts_lua_client_request_client_addr_get_addr(lua_State * L)
{
- struct sockaddr const *client_ip;
- ts_lua_http_ctx *http_ctx;
- int port;
- int family;
- char cip[128];
+ struct sockaddr const *client_ip;
+ ts_lua_http_ctx *http_ctx;
+ int port;
+ int family;
+ char cip[128];
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- client_ip = TSHttpTxnClientAddrGet(http_ctx->txnp);
+ client_ip = TSHttpTxnClientAddrGet(http_ctx->txnp);
- if (client_ip == NULL) {
- lua_pushnil(L);
- lua_pushnil(L);
- lua_pushnil(L);
+ if (client_ip == NULL) {
+ lua_pushnil(L);
+ lua_pushnil(L);
+ lua_pushnil(L);
- } else {
+ } else {
- if (client_ip->sa_family == AF_INET) {
- port = ((struct sockaddr_in *)client_ip)->sin_port;
- inet_ntop(AF_INET, (const void *)&((struct sockaddr_in *)client_ip)->sin_addr, cip, sizeof(cip));
- family = AF_INET;
- } else {
- port = ((struct sockaddr_in6 *)client_ip)->sin6_port;
- inet_ntop(AF_INET6, (const void *)&((struct sockaddr_in6 *)client_ip)->sin6_addr, cip, sizeof(cip));
- family = AF_INET6;
- }
-
- lua_pushstring(L, cip);
- lua_pushnumber(L, port);
- lua_pushnumber(L, family);
+ if (client_ip->sa_family == AF_INET) {
+ port = ((struct sockaddr_in *) client_ip)->sin_port;
+ inet_ntop(AF_INET, (const void *) &((struct sockaddr_in *) client_ip)->sin_addr, cip, sizeof(cip));
+ family = AF_INET;
+ } else {
+ port = ((struct sockaddr_in6 *) client_ip)->sin6_port;
+ inet_ntop(AF_INET6, (const void *) &((struct sockaddr_in6 *) client_ip)->sin6_addr, cip, sizeof(cip));
+ family = AF_INET6;
}
- return 3;
+ lua_pushstring(L, cip);
+ lua_pushnumber(L, port);
+ lua_pushnumber(L, family);
+ }
+
+ return 3;
}
static void
-ts_lua_inject_client_request_method_api(lua_State *L)
+ts_lua_inject_client_request_method_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_request_get_method);
- lua_setfield(L, -2, "get_method");
+ lua_pushcfunction(L, ts_lua_client_request_get_method);
+ lua_setfield(L, -2, "get_method");
- lua_pushcfunction(L, ts_lua_client_request_set_method);
- lua_setfield(L, -2, "set_method");
+ lua_pushcfunction(L, ts_lua_client_request_set_method);
+ lua_setfield(L, -2, "set_method");
}
static int
-ts_lua_client_request_get_method(lua_State *L)
+ts_lua_client_request_get_method(lua_State * L)
{
- const char *method;
- int method_len;
+ const char *method;
+ int method_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- method = TSHttpHdrMethodGet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, &method_len);
+ method = TSHttpHdrMethodGet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, &method_len);
- if (method && method_len) {
- lua_pushlstring(L, method, method_len);
- } else {
- lua_pushnil(L);
- }
+ if (method && method_len) {
+ lua_pushlstring(L, method, method_len);
+ } else {
+ lua_pushnil(L);
+ }
- return 1;
+ return 1;
}
static int
-ts_lua_client_request_set_method(lua_State *L)
+ts_lua_client_request_set_method(lua_State * L)
{
- const char *method;
- size_t method_len;
+ const char *method;
+ size_t method_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- method = luaL_checklstring(L, 1, &method_len);
+ method = luaL_checklstring(L, 1, &method_len);
- if (method) {
- TSHttpHdrMethodSet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, method, method_len);
- }
+ if (method) {
+ TSHttpHdrMethodSet(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, method, method_len);
+ }
- return 0;
+ return 0;
}
static void
-ts_lua_inject_client_request_body_size_api(lua_State *L)
+ts_lua_inject_client_request_body_size_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_request_get_body_size);
- lua_setfield(L, -2, "get_body_size");
+ lua_pushcfunction(L, ts_lua_client_request_get_body_size);
+ lua_setfield(L, -2, "get_body_size");
}
static int
-ts_lua_client_request_get_body_size(lua_State *L)
+ts_lua_client_request_get_body_size(lua_State * L)
{
- int64_t body_size;
- ts_lua_http_ctx *http_ctx;
+ int64_t body_size;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- body_size = TSHttpTxnClientReqBodyBytesGet(http_ctx->txnp);
- lua_pushnumber(L, body_size);
+ body_size = TSHttpTxnClientReqBodyBytesGet(http_ctx->txnp);
+ lua_pushnumber(L, body_size);
- return 1;
+ return 1;
}
static void
-ts_lua_inject_client_request_header_size_api(lua_State *L)
+ts_lua_inject_client_request_header_size_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_request_get_header_size);
- lua_setfield(L, -2, "get_header_size");
+ lua_pushcfunction(L, ts_lua_client_request_get_header_size);
+ lua_setfield(L, -2, "get_header_size");
}
static int
-ts_lua_client_request_get_header_size(lua_State *L)
+ts_lua_client_request_get_header_size(lua_State * L)
{
- int header_size;
- ts_lua_http_ctx *http_ctx;
+ int header_size;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- header_size = TSHttpTxnClientReqHdrBytesGet(http_ctx->txnp);
- lua_pushnumber(L,header_size);
+ header_size = TSHttpTxnClientReqHdrBytesGet(http_ctx->txnp);
+ lua_pushnumber(L, header_size);
- return 1;
+ return 1;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_client_request.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_client_request.h b/plugins/experimental/ts_lua/ts_lua_client_request.h
index fa8ff21..d279b19 100644
--- a/plugins/experimental/ts_lua/ts_lua_client_request.h
+++ b/plugins/experimental/ts_lua/ts_lua_client_request.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_client_request_api(lua_State *L);
+void ts_lua_inject_client_request_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_client_response.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_client_response.c b/plugins/experimental/ts_lua/ts_lua_client_response.c
index 453be24..01e3664 100644
--- a/plugins/experimental/ts_lua/ts_lua_client_response.c
+++ b/plugins/experimental/ts_lua/ts_lua_client_response.c
@@ -19,180 +19,184 @@
#include "ts_lua_util.h"
-static int ts_lua_client_response_header_get(lua_State *L);
-static int ts_lua_client_response_header_set(lua_State *L);
-static int ts_lua_client_response_header_get_status(lua_State *L);
-static void ts_lua_inject_client_response_header_api(lua_State *L);
-static void ts_lua_inject_client_response_get_status_api(lua_State *L);
-static void ts_lua_inject_client_response_header_misc_api(lua_State *L);
+static int ts_lua_client_response_header_get(lua_State * L);
+static int ts_lua_client_response_header_set(lua_State * L);
+static int ts_lua_client_response_header_get_status(lua_State * L);
+static void ts_lua_inject_client_response_header_api(lua_State * L);
+static void ts_lua_inject_client_response_get_status_api(lua_State * L);
+static void ts_lua_inject_client_response_header_misc_api(lua_State * L);
void
-ts_lua_inject_client_response_api(lua_State *L)
+ts_lua_inject_client_response_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_client_response_header_api(L);
- ts_lua_inject_client_response_get_status_api(L);
+ ts_lua_inject_client_response_header_api(L);
+ ts_lua_inject_client_response_get_status_api(L);
- lua_setfield(L, -2, "client_response");
+ lua_setfield(L, -2, "client_response");
}
static void
-ts_lua_inject_client_response_header_api(lua_State *L)
+ts_lua_inject_client_response_header_api(lua_State * L)
{
- lua_newtable(L); /* .header */
+ lua_newtable(L); /* .header */
- lua_createtable(L, 0, 2); /* metatable for .header */
+ lua_createtable(L, 0, 2); /* metatable for .header */
- lua_pushcfunction(L, ts_lua_client_response_header_get);
- lua_setfield(L, -2, "__index");
- lua_pushcfunction(L, ts_lua_client_response_header_set);
- lua_setfield(L, -2, "__newindex");
+ lua_pushcfunction(L, ts_lua_client_response_header_get);
+ lua_setfield(L, -2, "__index");
+ lua_pushcfunction(L, ts_lua_client_response_header_set);
+ lua_setfield(L, -2, "__newindex");
- lua_setmetatable(L, -2);
+ lua_setmetatable(L, -2);
- ts_lua_inject_client_response_header_misc_api(L);
- lua_setfield(L, -2, "header");
+ ts_lua_inject_client_response_header_misc_api(L);
+ lua_setfield(L, -2, "header");
}
static int
-ts_lua_client_response_header_get(lua_State *L)
+ts_lua_client_response_header_get(lua_State * L)
{
- const char *key;
- const char *val;
- int val_len;
- size_t key_len;
+ const char *key;
+ const char *val;
+ int val_len;
+ size_t key_len;
- TSMLoc field_loc;
+ TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
- if (!http_ctx->client_response_hdrp) {
- if (TSHttpTxnClientRespGet(http_ctx->txnp,
- &http_ctx->client_response_bufp, &http_ctx->client_response_hdrp) != TS_SUCCESS) {
+ if (!http_ctx->client_response_hdrp) {
+ if (TSHttpTxnClientRespGet(http_ctx->txnp,
+ &http_ctx->client_response_bufp, &http_ctx->client_response_hdrp) != TS_SUCCESS) {
- lua_pushnil(L);
- return 1;
- }
+ lua_pushnil(L);
+ return 1;
}
+ }
- if (key && key_len) {
+ if (key && key_len) {
- field_loc = TSMimeHdrFieldFind(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, key, key_len);
- if (field_loc) {
- val = TSMimeHdrFieldValueStringGet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc, -1, &val_len);
- lua_pushlstring(L, val, val_len);
- TSHandleMLocRelease(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
-
- } else {
- lua_pushnil(L);
- }
+ field_loc = TSMimeHdrFieldFind(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, key, key_len);
+ if (field_loc) {
+ val =
+ TSMimeHdrFieldValueStringGet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc, -1,
+ &val_len);
+ lua_pushlstring(L, val, val_len);
+ TSHandleMLocRelease(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
} else {
- lua_pushnil(L);
+ lua_pushnil(L);
}
- return 1;
+ } else {
+ lua_pushnil(L);
+ }
+
+ return 1;
}
static int
-ts_lua_client_response_header_set(lua_State *L)
+ts_lua_client_response_header_set(lua_State * L)
{
- const char *key;
- const char *val;
- size_t val_len;
- size_t key_len;
- int remove;
+ const char *key;
+ const char *val;
+ size_t val_len;
+ size_t key_len;
+ int remove;
- TSMLoc field_loc;
+ TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- remove = 0;
- val = NULL;
+ remove = 0;
+ val = NULL;
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
- if (lua_isnil(L, 3)) {
- remove = 1;
- } else {
- val = luaL_checklstring(L, 3, &val_len);
- }
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
+ if (lua_isnil(L, 3)) {
+ remove = 1;
+ } else {
+ val = luaL_checklstring(L, 3, &val_len);
+ }
- if (!http_ctx->client_response_hdrp) {
- if (TSHttpTxnClientRespGet(http_ctx->txnp, &http_ctx->client_response_bufp,
- &http_ctx->client_response_hdrp) != TS_SUCCESS) {
- return 0;
- }
+ if (!http_ctx->client_response_hdrp) {
+ if (TSHttpTxnClientRespGet(http_ctx->txnp, &http_ctx->client_response_bufp,
+ &http_ctx->client_response_hdrp) != TS_SUCCESS) {
+ return 0;
}
+ }
- field_loc = TSMimeHdrFieldFind(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, key, key_len);
+ field_loc = TSMimeHdrFieldFind(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, key, key_len);
- if (remove) {
- if (field_loc) {
- TSMimeHdrFieldDestroy(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
- }
+ if (remove) {
+ if (field_loc) {
+ TSMimeHdrFieldDestroy(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
+ }
- } else if (field_loc) {
- TSMimeHdrFieldValueStringSet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc, 0, val, val_len);
+ } else if (field_loc) {
+ TSMimeHdrFieldValueStringSet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc, 0, val,
+ val_len);
- } else if (TSMimeHdrFieldCreateNamed(http_ctx->client_response_bufp, http_ctx->client_response_hdrp,
- key, key_len, &field_loc) != TS_SUCCESS) {
- TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
- return 0;
+ } else if (TSMimeHdrFieldCreateNamed(http_ctx->client_response_bufp, http_ctx->client_response_hdrp,
+ key, key_len, &field_loc) != TS_SUCCESS) {
+ TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
+ return 0;
- } else {
- TSMimeHdrFieldValueStringSet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc, -1, val, val_len);
- TSMimeHdrFieldAppend(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
- }
+ } else {
+ TSMimeHdrFieldValueStringSet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc, -1, val,
+ val_len);
+ TSMimeHdrFieldAppend(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
+ }
- if (field_loc)
- TSHandleMLocRelease(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
+ if (field_loc)
+ TSHandleMLocRelease(http_ctx->client_response_bufp, http_ctx->client_response_hdrp, field_loc);
- return 0;
+ return 0;
}
static void
-ts_lua_inject_client_response_header_misc_api(lua_State *L ATS_UNUSED)
+ts_lua_inject_client_response_header_misc_api(lua_State * L ATS_UNUSED)
{
- return;
+ return;
}
static void
-ts_lua_inject_client_response_get_status_api(lua_State *L)
+ts_lua_inject_client_response_get_status_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_client_response_header_get_status);
- lua_setfield(L, -2, "get_status");
+ lua_pushcfunction(L, ts_lua_client_response_header_get_status);
+ lua_setfield(L, -2, "get_status");
}
static int
-ts_lua_client_response_header_get_status(lua_State *L)
+ts_lua_client_response_header_get_status(lua_State * L)
{
- int status;
- ts_lua_http_ctx *http_ctx;
+ int status;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- if (!http_ctx->client_response_hdrp) {
- if (TSHttpTxnClientRespGet(http_ctx->txnp,
- &http_ctx->client_response_bufp, &http_ctx->client_response_hdrp) != TS_SUCCESS) {
+ if (!http_ctx->client_response_hdrp) {
+ if (TSHttpTxnClientRespGet(http_ctx->txnp,
+ &http_ctx->client_response_bufp, &http_ctx->client_response_hdrp) != TS_SUCCESS) {
- lua_pushnil(L);
- return 1;
- }
+ lua_pushnil(L);
+ return 1;
}
+ }
- status = TSHttpHdrStatusGet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp);
+ status = TSHttpHdrStatusGet(http_ctx->client_response_bufp, http_ctx->client_response_hdrp);
- lua_pushinteger(L, status);
+ lua_pushinteger(L, status);
- return 1;
+ return 1;
}
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_client_response.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_client_response.h b/plugins/experimental/ts_lua/ts_lua_client_response.h
index 0c4f577..eb20467 100644
--- a/plugins/experimental/ts_lua/ts_lua_client_response.h
+++ b/plugins/experimental/ts_lua/ts_lua_client_response.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_client_response_api(lua_State *L);
+void ts_lua_inject_client_response_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_common.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_common.h b/plugins/experimental/ts_lua/ts_lua_common.h
index 4c84e3f..c4a32b0 100644
--- a/plugins/experimental/ts_lua/ts_lua_common.h
+++ b/plugins/experimental/ts_lua/ts_lua_common.h
@@ -53,78 +53,84 @@
#define TS_LUA_DEBUG_TAG "ts_lua"
-typedef struct {
- char script[TS_LUA_MAX_SCRIPT_FNAME_LENGTH];
+typedef struct
+{
+ char script[TS_LUA_MAX_SCRIPT_FNAME_LENGTH];
} ts_lua_instance_conf;
-typedef struct {
- lua_State *lua;
- TSMutex mutexp;
- int gref;
+typedef struct
+{
+ lua_State *lua;
+ TSMutex mutexp;
+ int gref;
} ts_lua_main_ctx;
-typedef struct {
- lua_State *lua;
- TSHttpTxn txnp;
- TSCont main_contp;
+typedef struct
+{
+ lua_State *lua;
+ TSHttpTxn txnp;
+ TSCont main_contp;
- TSMBuffer client_request_bufp;
- TSMLoc client_request_hdrp;
- TSMLoc client_request_url;
+ TSMBuffer client_request_bufp;
+ TSMLoc client_request_hdrp;
+ TSMLoc client_request_url;
- TSMBuffer server_request_bufp;
- TSMLoc server_request_hdrp;
+ TSMBuffer server_request_bufp;
+ TSMLoc server_request_hdrp;
- TSMBuffer server_response_bufp;
- TSMLoc server_response_hdrp;
+ TSMBuffer server_response_bufp;
+ TSMLoc server_response_hdrp;
- TSMBuffer client_response_bufp;
- TSMLoc client_response_hdrp;
+ TSMBuffer client_response_bufp;
+ TSMLoc client_response_hdrp;
- TSMBuffer cached_response_bufp;
- TSMLoc cached_response_hdrp;
+ TSMBuffer cached_response_bufp;
+ TSMLoc cached_response_hdrp;
- ts_lua_main_ctx *mctx;
+ ts_lua_main_ctx *mctx;
- int intercept_type;
- int ref;
+ int intercept_type;
+ int ref;
- int remap;
+ int remap;
} ts_lua_http_ctx;
-typedef struct {
- TSVIO vio;
- TSIOBuffer buffer;
- TSIOBufferReader reader;
+typedef struct
+{
+ TSVIO vio;
+ TSIOBuffer buffer;
+ TSIOBufferReader reader;
} ts_lua_io_handle;
-typedef struct {
- TSVIO output_vio;
- TSIOBuffer output_buffer;
- TSIOBufferReader output_reader;
+typedef struct
+{
+ TSVIO output_vio;
+ TSIOBuffer output_buffer;
+ TSIOBufferReader output_reader;
- int64_t total;
- ts_lua_http_ctx *hctx;
- int eos;
+ int64_t total;
+ ts_lua_http_ctx *hctx;
+ int eos;
} ts_lua_transform_ctx;
-typedef struct {
- lua_State *lua;
- TSCont contp;
- ts_lua_io_handle input;
- ts_lua_io_handle output;
- TSVConn net_vc;
+typedef struct
+{
+ lua_State *lua;
+ TSCont contp;
+ ts_lua_io_handle input;
+ ts_lua_io_handle output;
+ TSVConn net_vc;
- ts_lua_http_ctx *hctx;
- int ref;
- char recv_complete;
- char send_complete;
+ ts_lua_http_ctx *hctx;
+ int ref;
+ char recv_complete;
+ char send_complete;
} ts_lua_http_intercept_ctx;
#define TS_LUA_RELEASE_IO_HANDLE(ih) do { \
@@ -139,4 +145,3 @@ typedef struct {
} while (0)
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_context.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_context.c b/plugins/experimental/ts_lua/ts_lua_context.c
index 2396bde..5d967a9 100644
--- a/plugins/experimental/ts_lua/ts_lua_context.c
+++ b/plugins/experimental/ts_lua/ts_lua_context.c
@@ -21,74 +21,73 @@
static char ts_http_context_key;
-static int ts_lua_context_get(lua_State *L);
-static int ts_lua_context_set(lua_State *L);
+static int ts_lua_context_get(lua_State * L);
+static int ts_lua_context_set(lua_State * L);
void
-ts_lua_inject_context_api(lua_State *L)
+ts_lua_inject_context_api(lua_State * L)
{
- lua_newtable(L); /* .ctx */
+ lua_newtable(L); /* .ctx */
- lua_createtable(L, 0, 2); /* metatable for context */
+ lua_createtable(L, 0, 2); /* metatable for context */
- lua_pushcfunction(L, ts_lua_context_get);
- lua_setfield(L, -2, "__index");
- lua_pushcfunction(L, ts_lua_context_set);
- lua_setfield(L, -2, "__newindex");
+ lua_pushcfunction(L, ts_lua_context_get);
+ lua_setfield(L, -2, "__index");
+ lua_pushcfunction(L, ts_lua_context_set);
+ lua_setfield(L, -2, "__newindex");
- lua_setmetatable(L, -2);
+ lua_setmetatable(L, -2);
- lua_setfield(L, -2, "ctx");
+ lua_setfield(L, -2, "ctx");
}
void
-ts_lua_create_context_table(lua_State *L)
+ts_lua_create_context_table(lua_State * L)
{
- lua_pushlightuserdata(L, &ts_http_context_key);
- lua_newtable(L);
- lua_rawset(L, LUA_GLOBALSINDEX);
+ lua_pushlightuserdata(L, &ts_http_context_key);
+ lua_newtable(L);
+ lua_rawset(L, LUA_GLOBALSINDEX);
}
static int
-ts_lua_context_get(lua_State *L)
+ts_lua_context_get(lua_State * L)
{
- const char *key;
- size_t key_len;
+ const char *key;
+ size_t key_len;
- key = luaL_checklstring(L, 2, &key_len);
+ key = luaL_checklstring(L, 2, &key_len);
- if (key && key_len) {
- lua_pushlightuserdata(L, &ts_http_context_key);
- lua_rawget(L, LUA_GLOBALSINDEX); // get the context table
+ if (key && key_len) {
+ lua_pushlightuserdata(L, &ts_http_context_key);
+ lua_rawget(L, LUA_GLOBALSINDEX); // get the context table
- lua_pushlstring(L, key, key_len);
- lua_rawget(L, -2);
- } else {
- lua_pushnil(L);
- }
+ lua_pushlstring(L, key, key_len);
+ lua_rawget(L, -2);
+ } else {
+ lua_pushnil(L);
+ }
- return 1;
+ return 1;
}
static int
-ts_lua_context_set(lua_State *L)
+ts_lua_context_set(lua_State * L)
{
- const char *key;
- size_t key_len;
+ const char *key;
+ size_t key_len;
- key = luaL_checklstring(L, 2, &key_len);
+ key = luaL_checklstring(L, 2, &key_len);
- lua_pushlightuserdata(L, &ts_http_context_key);
- lua_rawget(L, LUA_GLOBALSINDEX); // get the context table -3
+ lua_pushlightuserdata(L, &ts_http_context_key);
+ lua_rawget(L, LUA_GLOBALSINDEX); // get the context table -3
- lua_pushlstring(L, key, key_len); // push key -2
- lua_pushvalue(L, 3); // push value -1
+ lua_pushlstring(L, key, key_len); // push key -2
+ lua_pushvalue(L, 3); // push value -1
- lua_rawset(L, -3);
- lua_pop(L, 1); // pop the context table
+ lua_rawset(L, -3);
+ lua_pop(L, 1); // pop the context table
- return 0;
+ return 0;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_context.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_context.h b/plugins/experimental/ts_lua/ts_lua_context.h
index e01a52c..e77abfd 100644
--- a/plugins/experimental/ts_lua/ts_lua_context.h
+++ b/plugins/experimental/ts_lua/ts_lua_context.h
@@ -22,8 +22,7 @@
#include "ts_lua_common.h"
-void ts_lua_inject_context_api(lua_State *L);
-void ts_lua_create_context_table(lua_State *L);
+void ts_lua_inject_context_api(lua_State * L);
+void ts_lua_create_context_table(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_hook.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_hook.c b/plugins/experimental/ts_lua/ts_lua_hook.c
index 66e57a1..79f6ea7 100644
--- a/plugins/experimental/ts_lua/ts_lua_hook.c
+++ b/plugins/experimental/ts_lua/ts_lua_hook.c
@@ -22,122 +22,122 @@
#include "ts_lua_util.h"
-typedef enum {
- TS_LUA_HOOK_DUMMY = 0,
- TS_LUA_HOOK_CACHE_LOOKUP_COMPLETE,
- TS_LUA_HOOK_SEND_REQUEST_HDR,
- TS_LUA_HOOK_READ_RESPONSE_HDR,
- TS_LUA_HOOK_SEND_RESPONSE_HDR,
- TS_LUA_REQUEST_TRANSFORM,
- TS_LUA_RESPONSE_TRANSFORM,
- TS_LUA_HOOK_LAST
+typedef enum
+{
+ TS_LUA_HOOK_DUMMY = 0,
+ TS_LUA_HOOK_CACHE_LOOKUP_COMPLETE,
+ TS_LUA_HOOK_SEND_REQUEST_HDR,
+ TS_LUA_HOOK_READ_RESPONSE_HDR,
+ TS_LUA_HOOK_SEND_RESPONSE_HDR,
+ TS_LUA_REQUEST_TRANSFORM,
+ TS_LUA_RESPONSE_TRANSFORM,
+ TS_LUA_HOOK_LAST
} TSLuaHookID;
-char * ts_lua_hook_id_string[] = {
- "TS_LUA_HOOK_DUMMY",
- "TS_LUA_HOOK_CACHE_LOOKUP_COMPLETE",
- "TS_LUA_HOOK_SEND_REQUEST_HDR",
- "TS_LUA_HOOK_READ_RESPONSE_HDR",
- "TS_LUA_HOOK_SEND_RESPONSE_HDR",
- "TS_LUA_REQUEST_TRANSFORM",
- "TS_LUA_RESPONSE_TRANSFORM",
- "TS_LUA_HOOK_LAST"
+char *ts_lua_hook_id_string[] = {
+ "TS_LUA_HOOK_DUMMY",
+ "TS_LUA_HOOK_CACHE_LOOKUP_COMPLETE",
+ "TS_LUA_HOOK_SEND_REQUEST_HDR",
+ "TS_LUA_HOOK_READ_RESPONSE_HDR",
+ "TS_LUA_HOOK_SEND_RESPONSE_HDR",
+ "TS_LUA_REQUEST_TRANSFORM",
+ "TS_LUA_RESPONSE_TRANSFORM",
+ "TS_LUA_HOOK_LAST"
};
-static int ts_lua_add_hook(lua_State *L);
-static void ts_lua_inject_hook_variables(lua_State *L);
+static int ts_lua_add_hook(lua_State * L);
+static void ts_lua_inject_hook_variables(lua_State * L);
void
-ts_lua_inject_hook_api(lua_State *L)
+ts_lua_inject_hook_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_add_hook);
- lua_setfield(L, -2, "hook");
+ lua_pushcfunction(L, ts_lua_add_hook);
+ lua_setfield(L, -2, "hook");
- ts_lua_inject_hook_variables(L);
+ ts_lua_inject_hook_variables(L);
}
static void
-ts_lua_inject_hook_variables(lua_State *L)
+ts_lua_inject_hook_variables(lua_State * L)
{
- unsigned int i;
+ unsigned int i;
- for (i = 0; i < sizeof(ts_lua_hook_id_string)/sizeof(char*); i++) {
- lua_pushinteger(L, i);
- lua_setglobal(L, ts_lua_hook_id_string[i]);
- }
+ for (i = 0; i < sizeof(ts_lua_hook_id_string) / sizeof(char *); i++) {
+ lua_pushinteger(L, i);
+ lua_setglobal(L, ts_lua_hook_id_string[i]);
+ }
}
static int
-ts_lua_add_hook(lua_State *L)
+ts_lua_add_hook(lua_State * L)
{
- int type;
- int entry;
-
- TSVConn connp;
- ts_lua_http_ctx *http_ctx;
- ts_lua_transform_ctx *transform_ctx;
-
- http_ctx = ts_lua_get_http_ctx(L);
-
- entry = lua_tointeger(L, 1); // get hook id
-
- type = lua_type(L, 2);
- if (type != LUA_TFUNCTION)
- return 0;
-
- switch (entry) {
-
- case TS_LUA_HOOK_CACHE_LOOKUP_COMPLETE:
- TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK, http_ctx->main_contp);
- lua_pushvalue(L, 2);
- lua_setglobal(L, TS_LUA_FUNCTION_CACHE_LOOKUP_COMPLETE);
- break;
-
- case TS_LUA_HOOK_SEND_REQUEST_HDR:
- TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_SEND_REQUEST_HDR_HOOK, http_ctx->main_contp);
- lua_pushvalue(L, 2);
- lua_setglobal(L, TS_LUA_FUNCTION_SEND_REQUEST);
- break;
-
- case TS_LUA_HOOK_READ_RESPONSE_HDR:
- TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_READ_RESPONSE_HDR_HOOK, http_ctx->main_contp);
- lua_pushvalue(L, 2);
- lua_setglobal(L, TS_LUA_FUNCTION_READ_RESPONSE);
- break;
-
- case TS_LUA_HOOK_SEND_RESPONSE_HDR:
- TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_SEND_RESPONSE_HDR_HOOK, http_ctx->main_contp);
- lua_pushvalue(L, 2);
- lua_setglobal(L, TS_LUA_FUNCTION_SEND_RESPONSE);
- break;
-
- case TS_LUA_REQUEST_TRANSFORM:
- case TS_LUA_RESPONSE_TRANSFORM:
- transform_ctx = (ts_lua_transform_ctx*)TSmalloc(sizeof(ts_lua_transform_ctx));
- memset(transform_ctx, 0, sizeof(ts_lua_transform_ctx));
- transform_ctx->hctx = http_ctx;
-
- connp = TSTransformCreate(ts_lua_transform_entry, http_ctx->txnp);
- TSContDataSet(connp, transform_ctx);
-
- if (entry == TS_LUA_REQUEST_TRANSFORM) {
- TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_REQUEST_TRANSFORM_HOOK, connp);
- } else {
- TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_RESPONSE_TRANSFORM_HOOK, connp);
- }
-
- lua_pushlightuserdata(L, transform_ctx);
- lua_pushvalue(L, 2);
- lua_rawset(L, LUA_GLOBALSINDEX);
- break;
-
- default:
- break;
- }
+ int type;
+ int entry;
+
+ TSVConn connp;
+ ts_lua_http_ctx *http_ctx;
+ ts_lua_transform_ctx *transform_ctx;
+
+ http_ctx = ts_lua_get_http_ctx(L);
+
+ entry = lua_tointeger(L, 1); // get hook id
+ type = lua_type(L, 2);
+ if (type != LUA_TFUNCTION)
return 0;
-}
+ switch (entry) {
+
+ case TS_LUA_HOOK_CACHE_LOOKUP_COMPLETE:
+ TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK, http_ctx->main_contp);
+ lua_pushvalue(L, 2);
+ lua_setglobal(L, TS_LUA_FUNCTION_CACHE_LOOKUP_COMPLETE);
+ break;
+
+ case TS_LUA_HOOK_SEND_REQUEST_HDR:
+ TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_SEND_REQUEST_HDR_HOOK, http_ctx->main_contp);
+ lua_pushvalue(L, 2);
+ lua_setglobal(L, TS_LUA_FUNCTION_SEND_REQUEST);
+ break;
+
+ case TS_LUA_HOOK_READ_RESPONSE_HDR:
+ TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_READ_RESPONSE_HDR_HOOK, http_ctx->main_contp);
+ lua_pushvalue(L, 2);
+ lua_setglobal(L, TS_LUA_FUNCTION_READ_RESPONSE);
+ break;
+
+ case TS_LUA_HOOK_SEND_RESPONSE_HDR:
+ TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_SEND_RESPONSE_HDR_HOOK, http_ctx->main_contp);
+ lua_pushvalue(L, 2);
+ lua_setglobal(L, TS_LUA_FUNCTION_SEND_RESPONSE);
+ break;
+
+ case TS_LUA_REQUEST_TRANSFORM:
+ case TS_LUA_RESPONSE_TRANSFORM:
+ transform_ctx = (ts_lua_transform_ctx *) TSmalloc(sizeof(ts_lua_transform_ctx));
+ memset(transform_ctx, 0, sizeof(ts_lua_transform_ctx));
+ transform_ctx->hctx = http_ctx;
+
+ connp = TSTransformCreate(ts_lua_transform_entry, http_ctx->txnp);
+ TSContDataSet(connp, transform_ctx);
+
+ if (entry == TS_LUA_REQUEST_TRANSFORM) {
+ TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_REQUEST_TRANSFORM_HOOK, connp);
+ } else {
+ TSHttpTxnHookAdd(http_ctx->txnp, TS_HTTP_RESPONSE_TRANSFORM_HOOK, connp);
+ }
+
+ lua_pushlightuserdata(L, transform_ctx);
+ lua_pushvalue(L, 2);
+ lua_rawset(L, LUA_GLOBALSINDEX);
+ break;
+
+ default:
+ break;
+ }
+
+ return 0;
+}
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_hook.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_hook.h b/plugins/experimental/ts_lua/ts_lua_hook.h
index ac90ad5..3996899 100644
--- a/plugins/experimental/ts_lua/ts_lua_hook.h
+++ b/plugins/experimental/ts_lua/ts_lua_hook.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_hook_api(lua_State *L);
+void ts_lua_inject_hook_api(lua_State * L);
#endif
-
[2/3] TS:2716 fix indentation for ts_lua plugin
Posted by ki...@apache.org.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_http.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_http.c b/plugins/experimental/ts_lua/ts_lua_http.c
index ba28364..599cd80 100644
--- a/plugins/experimental/ts_lua/ts_lua_http.c
+++ b/plugins/experimental/ts_lua/ts_lua_http.c
@@ -20,208 +20,208 @@
#include "ts_lua_util.h"
#include "ts_lua_http_intercept.h"
-typedef enum {
- TS_LUA_CACHE_LOOKUP_MISS,
- TS_LUA_CACHE_LOOKUP_HIT_STALE,
- TS_LUA_CACHE_LOOKUP_HIT_FRESH,
- TS_LUA_CACHE_LOOKUP_SKIPPED
+typedef enum
+{
+ TS_LUA_CACHE_LOOKUP_MISS,
+ TS_LUA_CACHE_LOOKUP_HIT_STALE,
+ TS_LUA_CACHE_LOOKUP_HIT_FRESH,
+ TS_LUA_CACHE_LOOKUP_SKIPPED
} TSLuaCacheLookupResult;
-char * ts_lua_cache_lookup_result_string[] = {
- "TS_LUA_CACHE_LOOKUP_MISS",
- "TS_LUA_CACHE_LOOKUP_HIT_STALE",
- "TS_LUA_CACHE_LOOKUP_HIT_FRESH",
- "TS_LUA_CACHE_LOOKUP_SKIPPED"
+char *ts_lua_cache_lookup_result_string[] = {
+ "TS_LUA_CACHE_LOOKUP_MISS",
+ "TS_LUA_CACHE_LOOKUP_HIT_STALE",
+ "TS_LUA_CACHE_LOOKUP_HIT_FRESH",
+ "TS_LUA_CACHE_LOOKUP_SKIPPED"
};
-static void ts_lua_inject_http_retset_api(lua_State *L);
-static void ts_lua_inject_http_cache_api(lua_State *L);
-static void ts_lua_inject_http_transform_api(lua_State *L);
+static void ts_lua_inject_http_retset_api(lua_State * L);
+static void ts_lua_inject_http_cache_api(lua_State * L);
+static void ts_lua_inject_http_transform_api(lua_State * L);
-static int ts_lua_http_set_retstatus(lua_State *L);
-static int ts_lua_http_set_retbody(lua_State *L);
-static int ts_lua_http_set_resp(lua_State *L);
+static int ts_lua_http_set_retstatus(lua_State * L);
+static int ts_lua_http_set_retbody(lua_State * L);
+static int ts_lua_http_set_resp(lua_State * L);
-static int ts_lua_http_get_cache_lookup_status(lua_State *L);
-static int ts_lua_http_set_cache_url(lua_State *L);
-static void ts_lua_inject_cache_lookup_result_variables(lua_State *L);
+static int ts_lua_http_get_cache_lookup_status(lua_State * L);
+static int ts_lua_http_set_cache_url(lua_State * L);
+static void ts_lua_inject_cache_lookup_result_variables(lua_State * L);
-static int ts_lua_http_resp_cache_transformed(lua_State *L);
-static int ts_lua_http_resp_cache_untransformed(lua_State *L);
+static int ts_lua_http_resp_cache_transformed(lua_State * L);
+static int ts_lua_http_resp_cache_untransformed(lua_State * L);
void
-ts_lua_inject_http_api(lua_State *L)
+ts_lua_inject_http_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_http_retset_api(L);
- ts_lua_inject_http_cache_api(L);
- ts_lua_inject_http_transform_api(L);
- ts_lua_inject_http_intercept_api(L);
+ ts_lua_inject_http_retset_api(L);
+ ts_lua_inject_http_cache_api(L);
+ ts_lua_inject_http_transform_api(L);
+ ts_lua_inject_http_intercept_api(L);
- lua_setfield(L, -2, "http");
+ lua_setfield(L, -2, "http");
}
static void
-ts_lua_inject_http_retset_api(lua_State *L)
+ts_lua_inject_http_retset_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_http_set_retstatus);
- lua_setfield(L, -2, "set_retstatus");
+ lua_pushcfunction(L, ts_lua_http_set_retstatus);
+ lua_setfield(L, -2, "set_retstatus");
- lua_pushcfunction(L, ts_lua_http_set_retbody);
- lua_setfield(L, -2, "set_retbody");
+ lua_pushcfunction(L, ts_lua_http_set_retbody);
+ lua_setfield(L, -2, "set_retbody");
- lua_pushcfunction(L, ts_lua_http_set_resp);
- lua_setfield(L, -2, "set_resp");
+ lua_pushcfunction(L, ts_lua_http_set_resp);
+ lua_setfield(L, -2, "set_resp");
}
static void
-ts_lua_inject_http_cache_api(lua_State *L)
+ts_lua_inject_http_cache_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_http_get_cache_lookup_status);
- lua_setfield(L, -2, "get_cache_lookup_status");
+ lua_pushcfunction(L, ts_lua_http_get_cache_lookup_status);
+ lua_setfield(L, -2, "get_cache_lookup_status");
- lua_pushcfunction(L, ts_lua_http_set_cache_url);
- lua_setfield(L, -2, "set_cache_url");
+ lua_pushcfunction(L, ts_lua_http_set_cache_url);
+ lua_setfield(L, -2, "set_cache_url");
- ts_lua_inject_cache_lookup_result_variables(L);
+ ts_lua_inject_cache_lookup_result_variables(L);
}
static void
-ts_lua_inject_http_transform_api(lua_State *L)
+ts_lua_inject_http_transform_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_http_resp_cache_transformed);
- lua_setfield(L, -2, "resp_cache_transformed");
+ lua_pushcfunction(L, ts_lua_http_resp_cache_transformed);
+ lua_setfield(L, -2, "resp_cache_transformed");
- lua_pushcfunction(L, ts_lua_http_resp_cache_untransformed);
- lua_setfield(L, -2, "resp_cache_untransformed");
+ lua_pushcfunction(L, ts_lua_http_resp_cache_untransformed);
+ lua_setfield(L, -2, "resp_cache_untransformed");
}
static void
-ts_lua_inject_cache_lookup_result_variables(lua_State *L)
+ts_lua_inject_cache_lookup_result_variables(lua_State * L)
{
- unsigned int i;
+ unsigned int i;
- for (i = 0; i < sizeof(ts_lua_cache_lookup_result_string)/sizeof(char*); i++) {
- lua_pushinteger(L, i);
- lua_setglobal(L, ts_lua_cache_lookup_result_string[i]);
- }
+ for (i = 0; i < sizeof(ts_lua_cache_lookup_result_string) / sizeof(char *); i++) {
+ lua_pushinteger(L, i);
+ lua_setglobal(L, ts_lua_cache_lookup_result_string[i]);
+ }
}
static int
-ts_lua_http_set_retstatus(lua_State *L)
+ts_lua_http_set_retstatus(lua_State * L)
{
- int status;
- ts_lua_http_ctx *http_ctx;
+ int status;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- status = luaL_checkinteger(L, 1);
- TSHttpTxnSetHttpRetStatus(http_ctx->txnp, status);
- return 0;
+ status = luaL_checkinteger(L, 1);
+ TSHttpTxnSetHttpRetStatus(http_ctx->txnp, status);
+ return 0;
}
static int
-ts_lua_http_set_retbody(lua_State *L)
+ts_lua_http_set_retbody(lua_State * L)
{
- const char *body;
- size_t body_len;
- ts_lua_http_ctx *http_ctx;
+ const char *body;
+ size_t body_len;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- body = luaL_checklstring(L, 1, &body_len);
- TSHttpTxnErrorBodySet(http_ctx->txnp, TSstrdup(body), body_len, NULL); // Defaults to text/html
- return 0;
+ body = luaL_checklstring(L, 1, &body_len);
+ TSHttpTxnErrorBodySet(http_ctx->txnp, TSstrdup(body), body_len, NULL); // Defaults to text/html
+ return 0;
}
static int
-ts_lua_http_set_resp(lua_State *L)
+ts_lua_http_set_resp(lua_State * L)
{
- int n, status;
- const char *body;
- size_t body_len;
- ts_lua_http_ctx *http_ctx;
+ int n, status;
+ const char *body;
+ size_t body_len;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- n = lua_gettop(L);
+ n = lua_gettop(L);
- status = luaL_checkinteger(L, 1);
- TSHttpTxnSetHttpRetStatus(http_ctx->txnp, status);
+ status = luaL_checkinteger(L, 1);
+ TSHttpTxnSetHttpRetStatus(http_ctx->txnp, status);
- if (n == 2) {
- body = luaL_checklstring(L, 2, &body_len);
- TSHttpTxnErrorBodySet(http_ctx->txnp, TSstrdup(body), body_len, NULL); // Defaults to text/html
- }
+ if (n == 2) {
+ body = luaL_checklstring(L, 2, &body_len);
+ TSHttpTxnErrorBodySet(http_ctx->txnp, TSstrdup(body), body_len, NULL); // Defaults to text/html
+ }
- return 0;
+ return 0;
}
static int
-ts_lua_http_get_cache_lookup_status(lua_State *L)
+ts_lua_http_get_cache_lookup_status(lua_State * L)
{
- int status;
+ int status;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- if (TSHttpTxnCacheLookupStatusGet(http_ctx->txnp, &status) == TS_ERROR) {
- lua_pushnil(L);
- } else {
- lua_pushnumber(L, status);
- }
+ if (TSHttpTxnCacheLookupStatusGet(http_ctx->txnp, &status) == TS_ERROR) {
+ lua_pushnil(L);
+ } else {
+ lua_pushnumber(L, status);
+ }
- return 1;
+ return 1;
}
static int
-ts_lua_http_set_cache_url(lua_State *L)
+ts_lua_http_set_cache_url(lua_State * L)
{
- const char *url;
- size_t url_len;
+ const char *url;
+ size_t url_len;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- url = luaL_checklstring(L, 1, &url_len);
+ url = luaL_checklstring(L, 1, &url_len);
- if (url && url_len) {
- TSCacheUrlSet(http_ctx->txnp, url, url_len);
- }
+ if (url && url_len) {
+ TSCacheUrlSet(http_ctx->txnp, url, url_len);
+ }
- return 0;
+ return 0;
}
static int
-ts_lua_http_resp_cache_transformed(lua_State *L)
+ts_lua_http_resp_cache_transformed(lua_State * L)
{
- int action;
- ts_lua_http_ctx *http_ctx;
+ int action;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- action = luaL_checkinteger(L, 1);
+ action = luaL_checkinteger(L, 1);
- TSHttpTxnTransformedRespCache(http_ctx->txnp, action);
+ TSHttpTxnTransformedRespCache(http_ctx->txnp, action);
- return 0;
+ return 0;
}
static int
-ts_lua_http_resp_cache_untransformed(lua_State *L)
+ts_lua_http_resp_cache_untransformed(lua_State * L)
{
- int action;
- ts_lua_http_ctx *http_ctx;
+ int action;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- action = luaL_checkinteger(L, 1);
+ action = luaL_checkinteger(L, 1);
- TSHttpTxnUntransformedRespCache(http_ctx->txnp, action);
+ TSHttpTxnUntransformedRespCache(http_ctx->txnp, action);
- return 0;
+ return 0;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_http.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_http.h b/plugins/experimental/ts_lua/ts_lua_http.h
index 7de74a9..0b70a4a 100644
--- a/plugins/experimental/ts_lua/ts_lua_http.h
+++ b/plugins/experimental/ts_lua/ts_lua_http.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_http_api(lua_State *L);
+void ts_lua_inject_http_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_http_intercept.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_http_intercept.c b/plugins/experimental/ts_lua/ts_lua_http_intercept.c
index bb4b1c8..88d41cd 100644
--- a/plugins/experimental/ts_lua/ts_lua_http_intercept.c
+++ b/plugins/experimental/ts_lua/ts_lua_http_intercept.c
@@ -22,278 +22,278 @@
#define TS_LUA_FUNCTION_HTTP_INTERCEPT "do_intercept"
#define TS_LUA_FUNCTION_HTTP_SERVER_INTERCEPT "do_server_intercept"
-typedef enum {
- TS_LUA_TYPE_HTTP_INTERCEPT = 0,
- TS_LUA_TYPE_HTTP_SERVER_INTERCEPT = 1
+typedef enum
+{
+ TS_LUA_TYPE_HTTP_INTERCEPT = 0,
+ TS_LUA_TYPE_HTTP_SERVER_INTERCEPT = 1
} TSInterceptType;
-static int ts_lua_http_intercept(lua_State *L);
-static int ts_lua_http_server_intercept(lua_State *L);
+static int ts_lua_http_intercept(lua_State * L);
+static int ts_lua_http_server_intercept(lua_State * L);
static int ts_lua_http_intercept_entry(TSCont contp, TSEvent event, void *edata);
-static void ts_lua_http_intercept_process(ts_lua_http_ctx *http_ctx, TSVConn conn);
-static void ts_lua_http_intercept_setup_read(ts_lua_http_intercept_ctx *ictx);
-static void ts_lua_http_intercept_setup_write(ts_lua_http_intercept_ctx *ictx);
+static void ts_lua_http_intercept_process(ts_lua_http_ctx * http_ctx, TSVConn conn);
+static void ts_lua_http_intercept_setup_read(ts_lua_http_intercept_ctx * ictx);
+static void ts_lua_http_intercept_setup_write(ts_lua_http_intercept_ctx * ictx);
static int ts_lua_http_intercept_handler(TSCont contp, TSEvent event, void *edata);
-static int ts_lua_http_intercept_run_coroutine(ts_lua_http_intercept_ctx *ictx);
-static int ts_lua_http_intercept_process_read(TSEvent event, ts_lua_http_intercept_ctx *ictx);
-static int ts_lua_http_intercept_process_write(TSEvent event, ts_lua_http_intercept_ctx *ictx);
+static int ts_lua_http_intercept_run_coroutine(ts_lua_http_intercept_ctx * ictx);
+static int ts_lua_http_intercept_process_read(TSEvent event, ts_lua_http_intercept_ctx * ictx);
+static int ts_lua_http_intercept_process_write(TSEvent event, ts_lua_http_intercept_ctx * ictx);
void
-ts_lua_inject_http_intercept_api(lua_State *L)
+ts_lua_inject_http_intercept_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_http_intercept);
- lua_setfield(L, -2, "intercept");
+ lua_pushcfunction(L, ts_lua_http_intercept);
+ lua_setfield(L, -2, "intercept");
- lua_pushcfunction(L, ts_lua_http_server_intercept);
- lua_setfield(L, -2, "server_intercept");
+ lua_pushcfunction(L, ts_lua_http_server_intercept);
+ lua_setfield(L, -2, "server_intercept");
}
static int
-ts_lua_http_intercept(lua_State *L)
+ts_lua_http_intercept(lua_State * L)
{
- TSCont contp;
- int type;
- ts_lua_http_ctx *http_ctx;
+ TSCont contp;
+ int type;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- type = lua_type(L, 1);
+ type = lua_type(L, 1);
- if (type != LUA_TFUNCTION) {
- fprintf(stderr, "[%s] param in ts.http.intercept should be a function\n", __FUNCTION__);
- return 0;
- }
+ if (type != LUA_TFUNCTION) {
+ fprintf(stderr, "[%s] param in ts.http.intercept should be a function\n", __FUNCTION__);
+ return 0;
+ }
- lua_pushvalue(L, 1);
- lua_setglobal(L, TS_LUA_FUNCTION_HTTP_INTERCEPT);
+ lua_pushvalue(L, 1);
+ lua_setglobal(L, TS_LUA_FUNCTION_HTTP_INTERCEPT);
- http_ctx->intercept_type = TS_LUA_TYPE_HTTP_INTERCEPT;
+ http_ctx->intercept_type = TS_LUA_TYPE_HTTP_INTERCEPT;
- contp = TSContCreate(ts_lua_http_intercept_entry, TSMutexCreate());
- TSContDataSet(contp, http_ctx);
- TSHttpTxnIntercept(contp, http_ctx->txnp);
+ contp = TSContCreate(ts_lua_http_intercept_entry, TSMutexCreate());
+ TSContDataSet(contp, http_ctx);
+ TSHttpTxnIntercept(contp, http_ctx->txnp);
- return 0;
+ return 0;
}
static int
-ts_lua_http_server_intercept(lua_State *L)
+ts_lua_http_server_intercept(lua_State * L)
{
- TSCont contp;
- int type;
- ts_lua_http_ctx *http_ctx;
+ TSCont contp;
+ int type;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- type = lua_type(L, 1);
+ type = lua_type(L, 1);
- if (type != LUA_TFUNCTION) {
- fprintf(stderr, "[%s] param in ts.http.server_intercept should be a function\n", __FUNCTION__);
- return 0;
- }
+ if (type != LUA_TFUNCTION) {
+ fprintf(stderr, "[%s] param in ts.http.server_intercept should be a function\n", __FUNCTION__);
+ return 0;
+ }
- lua_pushvalue(L, 1);
- lua_setglobal(L, TS_LUA_FUNCTION_HTTP_SERVER_INTERCEPT);
+ lua_pushvalue(L, 1);
+ lua_setglobal(L, TS_LUA_FUNCTION_HTTP_SERVER_INTERCEPT);
- http_ctx->intercept_type = TS_LUA_TYPE_HTTP_SERVER_INTERCEPT;
+ http_ctx->intercept_type = TS_LUA_TYPE_HTTP_SERVER_INTERCEPT;
- contp = TSContCreate(ts_lua_http_intercept_entry, TSMutexCreate());
- TSContDataSet(contp, http_ctx);
- TSHttpTxnServerIntercept(contp, http_ctx->txnp);
+ contp = TSContCreate(ts_lua_http_intercept_entry, TSMutexCreate());
+ TSContDataSet(contp, http_ctx);
+ TSHttpTxnServerIntercept(contp, http_ctx->txnp);
- return 0;
+ return 0;
}
static int
ts_lua_http_intercept_entry(TSCont contp, TSEvent event, void *edata)
{
- switch (event) {
+ switch (event) {
- case TS_EVENT_NET_ACCEPT_FAILED:
- if (edata)
- TSVConnClose((TSVConn)edata);
- break;
+ case TS_EVENT_NET_ACCEPT_FAILED:
+ if (edata)
+ TSVConnClose((TSVConn) edata);
+ break;
- case TS_EVENT_NET_ACCEPT:
- ts_lua_http_intercept_process((ts_lua_http_ctx*)TSContDataGet(contp), (TSVConn)edata);
- break;
+ case TS_EVENT_NET_ACCEPT:
+ ts_lua_http_intercept_process((ts_lua_http_ctx *) TSContDataGet(contp), (TSVConn) edata);
+ break;
- default:
- break;
- }
+ default:
+ break;
+ }
- TSContDestroy(contp);
- return 0;
+ TSContDestroy(contp);
+ return 0;
}
static void
-ts_lua_http_intercept_process(ts_lua_http_ctx *http_ctx, TSVConn conn)
+ts_lua_http_intercept_process(ts_lua_http_ctx * http_ctx, TSVConn conn)
{
- TSCont contp;
- lua_State *l;
- TSMutex mtxp;
- ts_lua_http_intercept_ctx *ictx;
+ TSCont contp;
+ lua_State *l;
+ TSMutex mtxp;
+ ts_lua_http_intercept_ctx *ictx;
- mtxp = http_ctx->mctx->mutexp;
- TSMutexLock(mtxp);
+ mtxp = http_ctx->mctx->mutexp;
+ TSMutexLock(mtxp);
- ictx = ts_lua_create_http_intercept_ctx(http_ctx);
+ ictx = ts_lua_create_http_intercept_ctx(http_ctx);
- contp = TSContCreate(ts_lua_http_intercept_handler, TSMutexCreate());
- TSContDataSet(contp, ictx);
+ contp = TSContCreate(ts_lua_http_intercept_handler, TSMutexCreate());
+ TSContDataSet(contp, ictx);
- ictx->contp = contp;
- ictx->net_vc = conn;
+ ictx->contp = contp;
+ ictx->net_vc = conn;
- l = ictx->lua;
+ l = ictx->lua;
- // set up read.
- ts_lua_http_intercept_setup_read(ictx);
+ // set up read.
+ ts_lua_http_intercept_setup_read(ictx);
- // invoke function here
- if (http_ctx->intercept_type == TS_LUA_TYPE_HTTP_INTERCEPT) {
- lua_getglobal(l, TS_LUA_FUNCTION_HTTP_INTERCEPT);
- } else {
- lua_getglobal(l, TS_LUA_FUNCTION_HTTP_SERVER_INTERCEPT);
- }
+ // invoke function here
+ if (http_ctx->intercept_type == TS_LUA_TYPE_HTTP_INTERCEPT) {
+ lua_getglobal(l, TS_LUA_FUNCTION_HTTP_INTERCEPT);
+ } else {
+ lua_getglobal(l, TS_LUA_FUNCTION_HTTP_SERVER_INTERCEPT);
+ }
- ts_lua_http_intercept_run_coroutine(ictx);
+ ts_lua_http_intercept_run_coroutine(ictx);
- TSMutexUnlock(mtxp);
+ TSMutexUnlock(mtxp);
}
static void
-ts_lua_http_intercept_setup_read(ts_lua_http_intercept_ctx *ictx)
+ts_lua_http_intercept_setup_read(ts_lua_http_intercept_ctx * ictx)
{
- ictx->input.buffer = TSIOBufferCreate();
- ictx->input.reader = TSIOBufferReaderAlloc(ictx->input.buffer);
- ictx->input.vio = TSVConnRead(ictx->net_vc, ictx->contp, ictx->input.buffer, INT64_MAX);
+ ictx->input.buffer = TSIOBufferCreate();
+ ictx->input.reader = TSIOBufferReaderAlloc(ictx->input.buffer);
+ ictx->input.vio = TSVConnRead(ictx->net_vc, ictx->contp, ictx->input.buffer, INT64_MAX);
}
static void
-ts_lua_http_intercept_setup_write(ts_lua_http_intercept_ctx *ictx)
+ts_lua_http_intercept_setup_write(ts_lua_http_intercept_ctx * ictx)
{
- ictx->output.buffer = TSIOBufferCreate();
- ictx->output.reader = TSIOBufferReaderAlloc(ictx->output.buffer);
- ictx->output.vio = TSVConnWrite(ictx->net_vc, ictx->contp, ictx->output.reader, INT64_MAX);
+ ictx->output.buffer = TSIOBufferCreate();
+ ictx->output.reader = TSIOBufferReaderAlloc(ictx->output.buffer);
+ ictx->output.vio = TSVConnWrite(ictx->net_vc, ictx->contp, ictx->output.reader, INT64_MAX);
}
static int
ts_lua_http_intercept_handler(TSCont contp, TSEvent event, void *edata)
{
- int ret;
- TSMutex mtxp;
- ts_lua_http_intercept_ctx *ictx;
-
- ictx = (ts_lua_http_intercept_ctx*)TSContDataGet(contp);
- mtxp = NULL;
+ int ret;
+ TSMutex mtxp;
+ ts_lua_http_intercept_ctx *ictx;
- if (edata == ictx->input.vio) {
- ret = ts_lua_http_intercept_process_read(event, ictx);
+ ictx = (ts_lua_http_intercept_ctx *) TSContDataGet(contp);
+ mtxp = NULL;
- } else if (edata == ictx->output.vio) {
- ret = ts_lua_http_intercept_process_write(event, ictx);
+ if (edata == ictx->input.vio) {
+ ret = ts_lua_http_intercept_process_read(event, ictx);
- } else {
- mtxp = ictx->hctx->mctx->mutexp;
- TSMutexLock(mtxp);
- ret = ts_lua_http_intercept_run_coroutine(ictx);
- }
+ } else if (edata == ictx->output.vio) {
+ ret = ts_lua_http_intercept_process_write(event, ictx);
- if (ret || (ictx->send_complete && ictx->recv_complete)) {
+ } else {
+ mtxp = ictx->hctx->mctx->mutexp;
+ TSMutexLock(mtxp);
+ ret = ts_lua_http_intercept_run_coroutine(ictx);
+ }
- TSContDestroy(contp);
+ if (ret || (ictx->send_complete && ictx->recv_complete)) {
- if (!mtxp) {
- mtxp = ictx->hctx->mctx->mutexp;
- TSMutexLock(mtxp);
- }
+ TSContDestroy(contp);
- ts_lua_destroy_http_intercept_ctx(ictx);
+ if (!mtxp) {
+ mtxp = ictx->hctx->mctx->mutexp;
+ TSMutexLock(mtxp);
}
- if (mtxp)
- TSMutexUnlock(mtxp);
+ ts_lua_destroy_http_intercept_ctx(ictx);
+ }
- return 0;
+ if (mtxp)
+ TSMutexUnlock(mtxp);
+
+ return 0;
}
static int
-ts_lua_http_intercept_run_coroutine(ts_lua_http_intercept_ctx *ictx)
+ts_lua_http_intercept_run_coroutine(ts_lua_http_intercept_ctx * ictx)
{
- int ret;
- const char *res;
- size_t res_len;
- lua_State *L;
+ int ret;
+ const char *res;
+ size_t res_len;
+ lua_State *L;
- L = ictx->lua;
+ L = ictx->lua;
- ret = lua_resume(L, 0);
+ ret = lua_resume(L, 0);
- switch (ret) {
+ switch (ret) {
- case 0: // finished
- res = lua_tolstring(L, -1, &res_len);
- ts_lua_http_intercept_setup_write(ictx);
- TSIOBufferWrite(ictx->output.buffer, res, res_len);
- TSVIONBytesSet(ictx->output.vio, res_len);
- break;
+ case 0: // finished
+ res = lua_tolstring(L, -1, &res_len);
+ ts_lua_http_intercept_setup_write(ictx);
+ TSIOBufferWrite(ictx->output.buffer, res, res_len);
+ TSVIONBytesSet(ictx->output.vio, res_len);
+ break;
- case 1: // yield
- break;
+ case 1: // yield
+ break;
- default: // error
- fprintf(stderr, "lua_resume failed: %s\n", lua_tostring(L, -1));
- return -1;
- }
+ default: // error
+ fprintf(stderr, "lua_resume failed: %s\n", lua_tostring(L, -1));
+ return -1;
+ }
- return 0;
+ return 0;
}
static int
-ts_lua_http_intercept_process_read(TSEvent event, ts_lua_http_intercept_ctx *ictx)
+ts_lua_http_intercept_process_read(TSEvent event, ts_lua_http_intercept_ctx * ictx)
{
- int64_t avail = TSIOBufferReaderAvail(ictx->input.reader);
- TSIOBufferReaderConsume(ictx->input.reader, avail);
+ int64_t avail = TSIOBufferReaderAvail(ictx->input.reader);
+ TSIOBufferReaderConsume(ictx->input.reader, avail);
- switch (event) {
+ switch (event) {
- case TS_EVENT_VCONN_READ_READY:
- TSVConnShutdown(ictx->net_vc, 1, 0);
+ case TS_EVENT_VCONN_READ_READY:
+ TSVConnShutdown(ictx->net_vc, 1, 0);
- case TS_EVENT_VCONN_READ_COMPLETE:
- case TS_EVENT_VCONN_EOS:
- ictx->recv_complete = 1;
- break;
+ case TS_EVENT_VCONN_READ_COMPLETE:
+ case TS_EVENT_VCONN_EOS:
+ ictx->recv_complete = 1;
+ break;
- default:
- return -1;
- }
+ default:
+ return -1;
+ }
- return 0;
+ return 0;
}
static int
-ts_lua_http_intercept_process_write(TSEvent event, ts_lua_http_intercept_ctx *ictx)
+ts_lua_http_intercept_process_write(TSEvent event, ts_lua_http_intercept_ctx * ictx)
{
- switch (event) {
- case TS_EVENT_VCONN_WRITE_READY:
- if (TSIOBufferReaderAvail(ictx->output.reader))
- TSVIOReenable(ictx->output.vio);
- break;
-
- case TS_EVENT_VCONN_WRITE_COMPLETE:
- ictx->send_complete = 1;
- break;
-
- case TS_EVENT_ERROR:
- default:
- return -1;
- }
-
- return 0;
+ switch (event) {
+ case TS_EVENT_VCONN_WRITE_READY:
+ if (TSIOBufferReaderAvail(ictx->output.reader))
+ TSVIOReenable(ictx->output.vio);
+ break;
+
+ case TS_EVENT_VCONN_WRITE_COMPLETE:
+ ictx->send_complete = 1;
+ break;
+
+ case TS_EVENT_ERROR:
+ default:
+ return -1;
+ }
+
+ return 0;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_http_intercept.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_http_intercept.h b/plugins/experimental/ts_lua/ts_lua_http_intercept.h
index 7bf344e..2403e11 100644
--- a/plugins/experimental/ts_lua/ts_lua_http_intercept.h
+++ b/plugins/experimental/ts_lua/ts_lua_http_intercept.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_http_intercept_api(lua_State *L);
+void ts_lua_inject_http_intercept_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_log.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_log.c b/plugins/experimental/ts_lua/ts_lua_log.c
index cf58d6f..400589c 100644
--- a/plugins/experimental/ts_lua/ts_lua_log.c
+++ b/plugins/experimental/ts_lua/ts_lua_log.c
@@ -21,97 +21,96 @@
static TSTextLogObject log;
-static int ts_lua_log_object_creat(lua_State *L);
-static int ts_lua_log_object_write(lua_State *L);
-static int ts_lua_log_object_destroy(lua_State *L);
+static int ts_lua_log_object_creat(lua_State * L);
+static int ts_lua_log_object_write(lua_State * L);
+static int ts_lua_log_object_destroy(lua_State * L);
-static void ts_lua_inject_log_object_creat_api(lua_State *L);
-static void ts_lua_inject_log_object_write_api(lua_State *L);
-static void ts_lua_inject_log_object_destroy_api(lua_State *L);
+static void ts_lua_inject_log_object_creat_api(lua_State * L);
+static void ts_lua_inject_log_object_write_api(lua_State * L);
+static void ts_lua_inject_log_object_destroy_api(lua_State * L);
void
-ts_lua_inject_log_api(lua_State *L)
+ts_lua_inject_log_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_log_object_creat_api(L);
- ts_lua_inject_log_object_write_api(L);
- ts_lua_inject_log_object_destroy_api(L);
+ ts_lua_inject_log_object_creat_api(L);
+ ts_lua_inject_log_object_write_api(L);
+ ts_lua_inject_log_object_destroy_api(L);
- lua_setfield(L, -2, "log");
+ lua_setfield(L, -2, "log");
}
static void
ts_lua_inject_log_object_creat_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_log_object_creat);
- lua_setfield(L, -2, "object_creat");
+ lua_pushcfunction(L, ts_lua_log_object_creat);
+ lua_setfield(L, -2, "object_creat");
}
-static int
-ts_lua_log_object_creat(lua_State *L)
+static int
+ts_lua_log_object_creat(lua_State * L)
{
- const char *log_name;
- size_t name_len;
- int log_mode;
- TSReturnCode error;
+ const char *log_name;
+ size_t name_len;
+ int log_mode;
+ TSReturnCode error;
- log_name = luaL_checklstring(L, -2, &name_len);
+ log_name = luaL_checklstring(L, -2, &name_len);
- if (lua_isnil(L, 3)) {
- TSError("no log name!!");
- return -1;
- } else {
- log_mode = luaL_checknumber(L, 3);
+ if (lua_isnil(L, 3)) {
+ TSError("no log name!!");
+ return -1;
+ } else {
+ log_mode = luaL_checknumber(L, 3);
- }
+ }
- error = TSTextLogObjectCreate(log_name, log_mode, &log);
+ error = TSTextLogObjectCreate(log_name, log_mode, &log);
- if(!log || error == TS_ERROR)
- {
- TSError("creat log error <%s>",log_name);
- return -1;
- }
- return 0;
+ if (!log || error == TS_ERROR) {
+ TSError("creat log error <%s>", log_name);
+ return -1;
+ }
+ return 0;
}
-static void
+static void
ts_lua_inject_log_object_write_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_log_object_write);
- lua_setfield(L,-2,"object_write");
+ lua_pushcfunction(L, ts_lua_log_object_write);
+ lua_setfield(L, -2, "object_write");
}
static int
-ts_lua_log_object_write(lua_State *L)
+ts_lua_log_object_write(lua_State * L)
{
- const char *text;
- size_t text_len;
+ const char *text;
+ size_t text_len;
- text = luaL_checklstring(L, 1, &text_len);
- if(log) {
- TSTextLogObjectWrite(log, "%s", text);
- } else {
- TSError("[%s] log is not exsited!",__FUNCTION__);
- }
+ text = luaL_checklstring(L, 1, &text_len);
+ if (log) {
+ TSTextLogObjectWrite(log, "%s", text);
+ } else {
+ TSError("[%s] log is not exsited!", __FUNCTION__);
+ }
- return 0;
+ return 0;
}
-static void
+static void
ts_lua_inject_log_object_destroy_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_log_object_destroy);
- lua_setfield(L,-2,"object_destroy");
+ lua_pushcfunction(L, ts_lua_log_object_destroy);
+ lua_setfield(L, -2, "object_destroy");
}
static int
-ts_lua_log_object_destroy(lua_State *L ATS_UNUSED )
+ts_lua_log_object_destroy(lua_State * L ATS_UNUSED)
{
- if(TSTextLogObjectDestroy(log) != TS_SUCCESS)
- TSError("[%s] TSTextLogObjectDestroy error!",__FUNCTION__);
+ if (TSTextLogObjectDestroy(log) != TS_SUCCESS)
+ TSError("[%s] TSTextLogObjectDestroy error!", __FUNCTION__);
- return 0;
+ return 0;
}
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_log.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_log.h b/plugins/experimental/ts_lua/ts_lua_log.h
index 886805e..4029c2d 100644
--- a/plugins/experimental/ts_lua/ts_lua_log.h
+++ b/plugins/experimental/ts_lua/ts_lua_log.h
@@ -22,6 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_log_api(lua_State *L);
+void ts_lua_inject_log_api(lua_State * L);
#endif
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_misc.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_misc.c b/plugins/experimental/ts_lua/ts_lua_misc.c
index 1d0b258..05a8155 100644
--- a/plugins/experimental/ts_lua/ts_lua_misc.c
+++ b/plugins/experimental/ts_lua/ts_lua_misc.c
@@ -20,72 +20,71 @@
#include "ts_lua_util.h"
-static int ts_lua_get_now_time(lua_State *L);
-static int ts_lua_debug(lua_State *L);
-static int ts_lua_error(lua_State *L);
-static int ts_lua_sleep(lua_State *L);
+static int ts_lua_get_now_time(lua_State * L);
+static int ts_lua_debug(lua_State * L);
+static int ts_lua_error(lua_State * L);
+static int ts_lua_sleep(lua_State * L);
void
-ts_lua_inject_misc_api(lua_State *L)
+ts_lua_inject_misc_api(lua_State * L)
{
- /* ts.now() */
- lua_pushcfunction(L, ts_lua_get_now_time);
- lua_setfield(L, -2, "now");
+ /* ts.now() */
+ lua_pushcfunction(L, ts_lua_get_now_time);
+ lua_setfield(L, -2, "now");
- /* ts.debug(...) */
- lua_pushcfunction(L, ts_lua_debug);
- lua_setfield(L, -2, "debug");
+ /* ts.debug(...) */
+ lua_pushcfunction(L, ts_lua_debug);
+ lua_setfield(L, -2, "debug");
- /* ts.error(...) */
- lua_pushcfunction(L, ts_lua_error);
- lua_setfield(L, -2, "error");
+ /* ts.error(...) */
+ lua_pushcfunction(L, ts_lua_error);
+ lua_setfield(L, -2, "error");
- /* ts.sleep(...) */
- lua_pushcfunction(L, ts_lua_sleep);
- lua_setfield(L, -2, "sleep");
+ /* ts.sleep(...) */
+ lua_pushcfunction(L, ts_lua_sleep);
+ lua_setfield(L, -2, "sleep");
}
static int
-ts_lua_get_now_time(lua_State *L)
+ts_lua_get_now_time(lua_State * L)
{
- time_t now;
+ time_t now;
- now = TShrtime() / 1000000000;
- lua_pushnumber(L, now);
- return 1;
+ now = TShrtime() / 1000000000;
+ lua_pushnumber(L, now);
+ return 1;
}
static int
-ts_lua_debug(lua_State *L)
+ts_lua_debug(lua_State * L)
{
- const char *msg;
+ const char *msg;
- msg = luaL_checkstring(L, 1);
- TSDebug(TS_LUA_DEBUG_TAG, "%s", msg);
- return 0;
+ msg = luaL_checkstring(L, 1);
+ TSDebug(TS_LUA_DEBUG_TAG, "%s", msg);
+ return 0;
}
static int
-ts_lua_error(lua_State *L)
+ts_lua_error(lua_State * L)
{
- const char *msg;
+ const char *msg;
- msg = luaL_checkstring(L, 1);
- TSError("%s", msg);
- return 0;
+ msg = luaL_checkstring(L, 1);
+ TSError("%s", msg);
+ return 0;
}
static int
-ts_lua_sleep(lua_State *L)
+ts_lua_sleep(lua_State * L)
{
- int sec;
- ts_lua_http_intercept_ctx *ictx;
+ int sec;
+ ts_lua_http_intercept_ctx *ictx;
- ictx = ts_lua_get_http_intercept_ctx(L);
- sec = luaL_checknumber(L, 1);
+ ictx = ts_lua_get_http_intercept_ctx(L);
+ sec = luaL_checknumber(L, 1);
- TSContSchedule(ictx->contp, sec*1000, TS_THREAD_POOL_DEFAULT);
- return lua_yield(L, 0);
+ TSContSchedule(ictx->contp, sec * 1000, TS_THREAD_POOL_DEFAULT);
+ return lua_yield(L, 0);
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_misc.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_misc.h b/plugins/experimental/ts_lua/ts_lua_misc.h
index 14c8b03..3ce86cc 100644
--- a/plugins/experimental/ts_lua/ts_lua_misc.h
+++ b/plugins/experimental/ts_lua/ts_lua_misc.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_misc_api(lua_State *L);
+void ts_lua_inject_misc_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_remap.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_remap.c b/plugins/experimental/ts_lua/ts_lua_remap.c
index d6efaaf..1678d22 100644
--- a/plugins/experimental/ts_lua/ts_lua_remap.c
+++ b/plugins/experimental/ts_lua/ts_lua_remap.c
@@ -20,48 +20,48 @@
#include "ts_lua_remap.h"
-typedef enum {
- TS_LUA_REMAP_NO_REMAP = 0,
- TS_LUA_REMAP_DID_REMAP,
- TS_LUA_REMAP_NO_REMAP_STOP,
- TS_LUA_REMAP_DID_REMAP_STOP,
- TS_LUA_REMAP_ERROR = -1,
+typedef enum
+{
+ TS_LUA_REMAP_NO_REMAP = 0,
+ TS_LUA_REMAP_DID_REMAP,
+ TS_LUA_REMAP_NO_REMAP_STOP,
+ TS_LUA_REMAP_DID_REMAP_STOP,
+ TS_LUA_REMAP_ERROR = -1,
} TSLuaRemapStatus;
int ts_lua_remap_status_id[] = {
- TS_LUA_REMAP_NO_REMAP,
- TS_LUA_REMAP_DID_REMAP,
- TS_LUA_REMAP_NO_REMAP_STOP,
- TS_LUA_REMAP_DID_REMAP_STOP,
- TS_LUA_REMAP_ERROR,
+ TS_LUA_REMAP_NO_REMAP,
+ TS_LUA_REMAP_DID_REMAP,
+ TS_LUA_REMAP_NO_REMAP_STOP,
+ TS_LUA_REMAP_DID_REMAP_STOP,
+ TS_LUA_REMAP_ERROR,
};
-char * ts_lua_remap_status_string[] = {
- "TS_LUA_REMAP_NO_REMAP",
- "TS_LUA_REMAP_DID_REMAP",
- "TS_LUA_REMAP_NO_REMAP_STOP",
- "TS_LUA_REMAP_DID_REMAP_STOP",
- "TS_LUA_REMAP_ERROR",
+char *ts_lua_remap_status_string[] = {
+ "TS_LUA_REMAP_NO_REMAP",
+ "TS_LUA_REMAP_DID_REMAP",
+ "TS_LUA_REMAP_NO_REMAP_STOP",
+ "TS_LUA_REMAP_DID_REMAP_STOP",
+ "TS_LUA_REMAP_ERROR",
};
-static void ts_lua_inject_remap_variables(lua_State *L);
+static void ts_lua_inject_remap_variables(lua_State * L);
void
-ts_lua_inject_remap_api(lua_State *L)
+ts_lua_inject_remap_api(lua_State * L)
{
- ts_lua_inject_remap_variables(L);
+ ts_lua_inject_remap_variables(L);
}
static void
-ts_lua_inject_remap_variables(lua_State *L)
+ts_lua_inject_remap_variables(lua_State * L)
{
- int i;
+ int i;
- for (i = 0; i < sizeof(ts_lua_remap_status_string)/sizeof(char*); i++) {
- lua_pushinteger(L, ts_lua_remap_status_id[i]);
- lua_setglobal(L, ts_lua_remap_status_string[i]);
- }
+ for (i = 0; i < sizeof(ts_lua_remap_status_string) / sizeof(char *); i++) {
+ lua_pushinteger(L, ts_lua_remap_status_id[i]);
+ lua_setglobal(L, ts_lua_remap_status_string[i]);
+ }
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_remap.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_remap.h b/plugins/experimental/ts_lua/ts_lua_remap.h
index 1dc84ed..ef24ac2 100644
--- a/plugins/experimental/ts_lua/ts_lua_remap.h
+++ b/plugins/experimental/ts_lua/ts_lua_remap.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_remap_api(lua_State *L);
+void ts_lua_inject_remap_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_server_request.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_server_request.c b/plugins/experimental/ts_lua/ts_lua_server_request.c
index 07853e3..3a38a6c 100644
--- a/plugins/experimental/ts_lua/ts_lua_server_request.c
+++ b/plugins/experimental/ts_lua/ts_lua_server_request.c
@@ -20,188 +20,191 @@
#include <arpa/inet.h>
#include "ts_lua_util.h"
-static void ts_lua_inject_server_request_header_api(lua_State *L);
-static void ts_lua_inject_server_request_get_header_size_api(lua_State *L);
-static void ts_lua_inject_server_request_get_body_size_api(lua_State *L);
+static void ts_lua_inject_server_request_header_api(lua_State * L);
+static void ts_lua_inject_server_request_get_header_size_api(lua_State * L);
+static void ts_lua_inject_server_request_get_body_size_api(lua_State * L);
-static int ts_lua_server_request_header_get(lua_State *L);
-static int ts_lua_server_request_header_set(lua_State *L);
-static int ts_lua_server_request_get_header_size(lua_State *L);
-static int ts_lua_server_request_get_body_size(lua_State *L);
+static int ts_lua_server_request_header_get(lua_State * L);
+static int ts_lua_server_request_header_set(lua_State * L);
+static int ts_lua_server_request_get_header_size(lua_State * L);
+static int ts_lua_server_request_get_body_size(lua_State * L);
void
-ts_lua_inject_server_request_api(lua_State *L)
+ts_lua_inject_server_request_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_server_request_header_api(L);
- ts_lua_inject_server_request_get_header_size_api(L);
- ts_lua_inject_server_request_get_body_size_api(L);
+ ts_lua_inject_server_request_header_api(L);
+ ts_lua_inject_server_request_get_header_size_api(L);
+ ts_lua_inject_server_request_get_body_size_api(L);
- lua_setfield(L, -2, "server_request");
+ lua_setfield(L, -2, "server_request");
}
static void
-ts_lua_inject_server_request_header_api(lua_State *L)
+ts_lua_inject_server_request_header_api(lua_State * L)
{
- lua_newtable(L); /* .header */
+ lua_newtable(L); /* .header */
- lua_createtable(L, 0, 2); /* metatable for .header */
+ lua_createtable(L, 0, 2); /* metatable for .header */
- lua_pushcfunction(L, ts_lua_server_request_header_get);
- lua_setfield(L, -2, "__index");
- lua_pushcfunction(L, ts_lua_server_request_header_set);
- lua_setfield(L, -2, "__newindex");
+ lua_pushcfunction(L, ts_lua_server_request_header_get);
+ lua_setfield(L, -2, "__index");
+ lua_pushcfunction(L, ts_lua_server_request_header_set);
+ lua_setfield(L, -2, "__newindex");
- lua_setmetatable(L, -2);
+ lua_setmetatable(L, -2);
- lua_setfield(L, -2, "header");
+ lua_setfield(L, -2, "header");
}
static int
-ts_lua_server_request_header_get(lua_State *L)
+ts_lua_server_request_header_get(lua_State * L)
{
- const char *key;
- const char *val;
- int val_len;
- size_t key_len;
+ const char *key;
+ const char *val;
+ int val_len;
+ size_t key_len;
- TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ TSMLoc field_loc;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
- if (!http_ctx->server_request_hdrp) {
- if (TSHttpTxnServerReqGet(http_ctx->txnp,
- &http_ctx->server_request_bufp, &http_ctx->server_request_hdrp) != TS_SUCCESS) {
+ if (!http_ctx->server_request_hdrp) {
+ if (TSHttpTxnServerReqGet(http_ctx->txnp,
+ &http_ctx->server_request_bufp, &http_ctx->server_request_hdrp) != TS_SUCCESS) {
- lua_pushnil(L);
- return 1;
- }
+ lua_pushnil(L);
+ return 1;
}
+ }
- if (key && key_len) {
+ if (key && key_len) {
- field_loc = TSMimeHdrFieldFind(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, key, key_len);
- if (field_loc) {
- val = TSMimeHdrFieldValueStringGet(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc, -1, &val_len);
- lua_pushlstring(L, val, val_len);
- TSHandleMLocRelease(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
-
- } else {
- lua_pushnil(L);
- }
+ field_loc = TSMimeHdrFieldFind(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, key, key_len);
+ if (field_loc) {
+ val =
+ TSMimeHdrFieldValueStringGet(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc, -1,
+ &val_len);
+ lua_pushlstring(L, val, val_len);
+ TSHandleMLocRelease(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
} else {
- lua_pushnil(L);
+ lua_pushnil(L);
}
- return 1;
+ } else {
+ lua_pushnil(L);
+ }
+
+ return 1;
}
static int
-ts_lua_server_request_header_set(lua_State *L)
+ts_lua_server_request_header_set(lua_State * L)
{
- const char *key;
- const char *val;
- size_t val_len;
- size_t key_len;
- int remove;
+ const char *key;
+ const char *val;
+ size_t val_len;
+ size_t key_len;
+ int remove;
- TSMLoc field_loc;
+ TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- remove = 0;
- val = NULL;
+ remove = 0;
+ val = NULL;
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
- if (lua_isnil(L, 3)) {
- remove = 1;
- } else {
- val = luaL_checklstring(L, 3, &val_len);
- }
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
+ if (lua_isnil(L, 3)) {
+ remove = 1;
+ } else {
+ val = luaL_checklstring(L, 3, &val_len);
+ }
- if (!http_ctx->server_request_hdrp) {
- if (TSHttpTxnServerReqGet(http_ctx->txnp,
- &http_ctx->server_request_bufp, &http_ctx->server_request_hdrp) != TS_SUCCESS) {
- return 0;
- }
+ if (!http_ctx->server_request_hdrp) {
+ if (TSHttpTxnServerReqGet(http_ctx->txnp,
+ &http_ctx->server_request_bufp, &http_ctx->server_request_hdrp) != TS_SUCCESS) {
+ return 0;
}
+ }
- field_loc = TSMimeHdrFieldFind(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, key, key_len);
+ field_loc = TSMimeHdrFieldFind(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, key, key_len);
- if (remove) {
- if (field_loc) {
- TSMimeHdrFieldDestroy(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
- }
+ if (remove) {
+ if (field_loc) {
+ TSMimeHdrFieldDestroy(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
+ }
- } else if (field_loc) {
- TSMimeHdrFieldValueStringSet(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc, 0, val, val_len);
+ } else if (field_loc) {
+ TSMimeHdrFieldValueStringSet(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc, 0, val,
+ val_len);
- } else if (TSMimeHdrFieldCreateNamed(http_ctx->server_request_bufp, http_ctx->server_request_hdrp,
- key, key_len, &field_loc) != TS_SUCCESS) {
- TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
- return 0;
+ } else if (TSMimeHdrFieldCreateNamed(http_ctx->server_request_bufp, http_ctx->server_request_hdrp,
+ key, key_len, &field_loc) != TS_SUCCESS) {
+ TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
+ return 0;
- } else {
- TSMimeHdrFieldValueStringSet(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc, -1, val, val_len);
- TSMimeHdrFieldAppend(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
- }
+ } else {
+ TSMimeHdrFieldValueStringSet(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc, -1, val,
+ val_len);
+ TSMimeHdrFieldAppend(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
+ }
- if (field_loc)
- TSHandleMLocRelease(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
+ if (field_loc)
+ TSHandleMLocRelease(http_ctx->server_request_bufp, http_ctx->server_request_hdrp, field_loc);
- return 0;
+ return 0;
}
static void
-ts_lua_inject_server_request_get_header_size_api(lua_State *L)
+ts_lua_inject_server_request_get_header_size_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_server_request_get_header_size);
- lua_setfield(L, -2, "get_header_size");
+ lua_pushcfunction(L, ts_lua_server_request_get_header_size);
+ lua_setfield(L, -2, "get_header_size");
}
static int
-ts_lua_server_request_get_header_size(lua_State *L)
+ts_lua_server_request_get_header_size(lua_State * L)
{
- int header_size;
- ts_lua_http_ctx *http_ctx;
+ int header_size;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- header_size = TSHttpTxnServerReqHdrBytesGet(http_ctx->txnp);
- lua_pushnumber(L,header_size);
+ header_size = TSHttpTxnServerReqHdrBytesGet(http_ctx->txnp);
+ lua_pushnumber(L, header_size);
- return 1;
+ return 1;
}
static void
-ts_lua_inject_server_request_get_body_size_api(lua_State *L)
+ts_lua_inject_server_request_get_body_size_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_server_request_get_body_size);
- lua_setfield(L, -2, "get_body_size");
+ lua_pushcfunction(L, ts_lua_server_request_get_body_size);
+ lua_setfield(L, -2, "get_body_size");
}
static int
-ts_lua_server_request_get_body_size(lua_State *L)
+ts_lua_server_request_get_body_size(lua_State * L)
{
- int64_t body_size;
- ts_lua_http_ctx *http_ctx;
+ int64_t body_size;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- body_size = TSHttpTxnServerReqBodyBytesGet(http_ctx->txnp);
- lua_pushnumber(L,body_size);
+ body_size = TSHttpTxnServerReqBodyBytesGet(http_ctx->txnp);
+ lua_pushnumber(L, body_size);
- return 1;
+ return 1;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_server_request.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_server_request.h b/plugins/experimental/ts_lua/ts_lua_server_request.h
index c9996d6..40d5d09 100644
--- a/plugins/experimental/ts_lua/ts_lua_server_request.h
+++ b/plugins/experimental/ts_lua/ts_lua_server_request.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_server_request_api(lua_State *L);
+void ts_lua_inject_server_request_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_server_response.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_server_response.c b/plugins/experimental/ts_lua/ts_lua_server_response.c
index 598e70a..ff6b41a 100644
--- a/plugins/experimental/ts_lua/ts_lua_server_response.c
+++ b/plugins/experimental/ts_lua/ts_lua_server_response.c
@@ -19,176 +19,179 @@
#include "ts_lua_util.h"
-static void ts_lua_inject_server_response_header_api(lua_State *L);
-static void ts_lua_inject_server_response_header_misc_api(lua_State *L);
+static void ts_lua_inject_server_response_header_api(lua_State * L);
+static void ts_lua_inject_server_response_header_misc_api(lua_State * L);
-static int ts_lua_server_response_header_get(lua_State *L);
-static int ts_lua_server_response_header_set(lua_State *L);
+static int ts_lua_server_response_header_get(lua_State * L);
+static int ts_lua_server_response_header_set(lua_State * L);
-static int ts_lua_server_response_header_get_status(lua_State *L);
+static int ts_lua_server_response_header_get_status(lua_State * L);
void
-ts_lua_inject_server_response_api(lua_State *L)
+ts_lua_inject_server_response_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_server_response_header_api(L);
+ ts_lua_inject_server_response_header_api(L);
- lua_setfield(L, -2, "server_response");
+ lua_setfield(L, -2, "server_response");
}
static void
-ts_lua_inject_server_response_header_api(lua_State *L)
+ts_lua_inject_server_response_header_api(lua_State * L)
{
- lua_newtable(L); /* .header */
+ lua_newtable(L); /* .header */
- ts_lua_inject_server_response_header_misc_api(L);
+ ts_lua_inject_server_response_header_misc_api(L);
- lua_createtable(L, 0, 2); /* metatable for .header */
+ lua_createtable(L, 0, 2); /* metatable for .header */
- lua_pushcfunction(L, ts_lua_server_response_header_get);
- lua_setfield(L, -2, "__index");
- lua_pushcfunction(L, ts_lua_server_response_header_set);
- lua_setfield(L, -2, "__newindex");
+ lua_pushcfunction(L, ts_lua_server_response_header_get);
+ lua_setfield(L, -2, "__index");
+ lua_pushcfunction(L, ts_lua_server_response_header_set);
+ lua_setfield(L, -2, "__newindex");
- lua_setmetatable(L, -2);
+ lua_setmetatable(L, -2);
- lua_setfield(L, -2, "header");
+ lua_setfield(L, -2, "header");
}
static void
-ts_lua_inject_server_response_header_misc_api(lua_State *L)
+ts_lua_inject_server_response_header_misc_api(lua_State * L)
{
- lua_pushcfunction(L, ts_lua_server_response_header_get_status);
- lua_setfield(L, -2, "get_status");
+ lua_pushcfunction(L, ts_lua_server_response_header_get_status);
+ lua_setfield(L, -2, "get_status");
}
static int
-ts_lua_server_response_header_get(lua_State *L)
+ts_lua_server_response_header_get(lua_State * L)
{
- const char *key;
- const char *val;
- int val_len;
- size_t key_len;
+ const char *key;
+ const char *val;
+ int val_len;
+ size_t key_len;
- TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ TSMLoc field_loc;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
- if (!http_ctx->server_response_hdrp) {
- if (TSHttpTxnServerRespGet(http_ctx->txnp,
- &http_ctx->server_response_bufp, &http_ctx->server_response_hdrp) != TS_SUCCESS) {
+ if (!http_ctx->server_response_hdrp) {
+ if (TSHttpTxnServerRespGet(http_ctx->txnp,
+ &http_ctx->server_response_bufp, &http_ctx->server_response_hdrp) != TS_SUCCESS) {
- lua_pushnil(L);
- return 1;
- }
+ lua_pushnil(L);
+ return 1;
}
+ }
- if (key && key_len) {
+ if (key && key_len) {
- field_loc = TSMimeHdrFieldFind(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, key, key_len);
- if (field_loc) {
- val = TSMimeHdrFieldValueStringGet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc, -1, &val_len);
- lua_pushlstring(L, val, val_len);
- TSHandleMLocRelease(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
-
- } else {
- lua_pushnil(L);
- }
+ field_loc = TSMimeHdrFieldFind(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, key, key_len);
+ if (field_loc) {
+ val =
+ TSMimeHdrFieldValueStringGet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc, -1,
+ &val_len);
+ lua_pushlstring(L, val, val_len);
+ TSHandleMLocRelease(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
} else {
- lua_pushnil(L);
+ lua_pushnil(L);
}
- return 1;
+ } else {
+ lua_pushnil(L);
+ }
+
+ return 1;
}
static int
-ts_lua_server_response_header_set(lua_State *L)
+ts_lua_server_response_header_set(lua_State * L)
{
- const char *key;
- const char *val;
- size_t val_len;
- size_t key_len;
- int remove;
+ const char *key;
+ const char *val;
+ size_t val_len;
+ size_t key_len;
+ int remove;
- TSMLoc field_loc;
+ TSMLoc field_loc;
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- remove = 0;
- val = NULL;
+ remove = 0;
+ val = NULL;
- /* we skip the first argument that is the table */
- key = luaL_checklstring(L, 2, &key_len);
- if (lua_isnil(L, 3)) {
- remove = 1;
- } else {
- val = luaL_checklstring(L, 3, &val_len);
- }
+ /* we skip the first argument that is the table */
+ key = luaL_checklstring(L, 2, &key_len);
+ if (lua_isnil(L, 3)) {
+ remove = 1;
+ } else {
+ val = luaL_checklstring(L, 3, &val_len);
+ }
- if (!http_ctx->server_response_hdrp) {
- if (TSHttpTxnServerRespGet(http_ctx->txnp,
- &http_ctx->server_response_bufp, &http_ctx->server_response_hdrp) != TS_SUCCESS) {
- return 0;
- }
+ if (!http_ctx->server_response_hdrp) {
+ if (TSHttpTxnServerRespGet(http_ctx->txnp,
+ &http_ctx->server_response_bufp, &http_ctx->server_response_hdrp) != TS_SUCCESS) {
+ return 0;
}
+ }
- field_loc = TSMimeHdrFieldFind(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, key, key_len);
+ field_loc = TSMimeHdrFieldFind(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, key, key_len);
- if (remove) {
- if (field_loc) {
- TSMimeHdrFieldDestroy(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
- }
+ if (remove) {
+ if (field_loc) {
+ TSMimeHdrFieldDestroy(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
+ }
- } else if (field_loc) {
- TSMimeHdrFieldValueStringSet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc, 0, val, val_len);
+ } else if (field_loc) {
+ TSMimeHdrFieldValueStringSet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc, 0, val,
+ val_len);
- } else if (TSMimeHdrFieldCreateNamed(http_ctx->server_response_bufp, http_ctx->server_response_hdrp,
- key, key_len, &field_loc) != TS_SUCCESS) {
- TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
- return 0;
+ } else if (TSMimeHdrFieldCreateNamed(http_ctx->server_response_bufp, http_ctx->server_response_hdrp,
+ key, key_len, &field_loc) != TS_SUCCESS) {
+ TSError("[%s] TSMimeHdrFieldCreateNamed error", __FUNCTION__);
+ return 0;
- } else {
- TSMimeHdrFieldValueStringSet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc, -1, val, val_len);
- TSMimeHdrFieldAppend(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
- }
+ } else {
+ TSMimeHdrFieldValueStringSet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc, -1, val,
+ val_len);
+ TSMimeHdrFieldAppend(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
+ }
- if (field_loc)
- TSHandleMLocRelease(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
+ if (field_loc)
+ TSHandleMLocRelease(http_ctx->server_response_bufp, http_ctx->server_response_hdrp, field_loc);
- return 0;
+ return 0;
}
static int
-ts_lua_server_response_header_get_status(lua_State *L)
+ts_lua_server_response_header_get_status(lua_State * L)
{
- int status;
- ts_lua_http_ctx *http_ctx;
+ int status;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ts_lua_get_http_ctx(L);
+ http_ctx = ts_lua_get_http_ctx(L);
- if (!http_ctx->server_response_hdrp) {
- if (TSHttpTxnServerRespGet(http_ctx->txnp,
- &http_ctx->server_response_bufp, &http_ctx->server_response_hdrp) != TS_SUCCESS) {
+ if (!http_ctx->server_response_hdrp) {
+ if (TSHttpTxnServerRespGet(http_ctx->txnp,
+ &http_ctx->server_response_bufp, &http_ctx->server_response_hdrp) != TS_SUCCESS) {
- lua_pushnil(L);
- return 1;
- }
+ lua_pushnil(L);
+ return 1;
}
+ }
- status = TSHttpHdrStatusGet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp);
+ status = TSHttpHdrStatusGet(http_ctx->server_response_bufp, http_ctx->server_response_hdrp);
- lua_pushinteger(L, status);
+ lua_pushinteger(L, status);
- return 1;
+ return 1;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_server_response.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_server_response.h b/plugins/experimental/ts_lua/ts_lua_server_response.h
index fab0d17..9e89069 100644
--- a/plugins/experimental/ts_lua/ts_lua_server_response.h
+++ b/plugins/experimental/ts_lua/ts_lua_server_response.h
@@ -22,7 +22,6 @@
#include "ts_lua_common.h"
-void ts_lua_inject_server_response_api(lua_State *L);
+void ts_lua_inject_server_response_api(lua_State * L);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_transform.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_transform.c b/plugins/experimental/ts_lua/ts_lua_transform.c
index 8bdb055..f196ea6 100644
--- a/plugins/experimental/ts_lua/ts_lua_transform.c
+++ b/plugins/experimental/ts_lua/ts_lua_transform.c
@@ -20,154 +20,153 @@
#include "ts_lua_util.h"
-static int ts_lua_transform_handler(TSCont contp, ts_lua_transform_ctx *transform_ctx);
+static int ts_lua_transform_handler(TSCont contp, ts_lua_transform_ctx * transform_ctx);
int
-ts_lua_transform_entry(TSCont contp, TSEvent event, void *edata ATS_UNUSED )
+ts_lua_transform_entry(TSCont contp, TSEvent event, void *edata ATS_UNUSED)
{
- TSVIO input_vio;
+ TSVIO input_vio;
- ts_lua_transform_ctx *transform_ctx = (ts_lua_transform_ctx*)TSContDataGet(contp);
+ ts_lua_transform_ctx *transform_ctx = (ts_lua_transform_ctx *) TSContDataGet(contp);
- if (TSVConnClosedGet(contp)) {
- TSContDestroy(contp);
- ts_lua_destroy_transform_ctx(transform_ctx);
- return 0;
- }
+ if (TSVConnClosedGet(contp)) {
+ TSContDestroy(contp);
+ ts_lua_destroy_transform_ctx(transform_ctx);
+ return 0;
+ }
- switch (event) {
+ switch (event) {
- case TS_EVENT_ERROR:
- input_vio = TSVConnWriteVIOGet(contp);
- TSContCall(TSVIOContGet(input_vio), TS_EVENT_ERROR, input_vio);
- break;
+ case TS_EVENT_ERROR:
+ input_vio = TSVConnWriteVIOGet(contp);
+ TSContCall(TSVIOContGet(input_vio), TS_EVENT_ERROR, input_vio);
+ break;
- case TS_EVENT_VCONN_WRITE_COMPLETE:
- TSVConnShutdown(TSTransformOutputVConnGet(contp), 0, 1);
- break;
+ case TS_EVENT_VCONN_WRITE_COMPLETE:
+ TSVConnShutdown(TSTransformOutputVConnGet(contp), 0, 1);
+ break;
- case TS_EVENT_VCONN_WRITE_READY:
- default:
- ts_lua_transform_handler(contp, transform_ctx);
- break;
- }
+ case TS_EVENT_VCONN_WRITE_READY:
+ default:
+ ts_lua_transform_handler(contp, transform_ctx);
+ break;
+ }
- return 0;
+ return 0;
}
static int
-ts_lua_transform_handler(TSCont contp, ts_lua_transform_ctx *transform_ctx)
+ts_lua_transform_handler(TSCont contp, ts_lua_transform_ctx * transform_ctx)
{
- TSVConn output_conn;
- TSVIO input_vio;
- TSIOBufferReader input_reader;
- TSIOBufferBlock blk;
- int64_t towrite, blk_len, upstream_done, avail, left;
- const char *start;
- const char *res;
- size_t res_len;
- int ret, eos;
-
- lua_State *L;
- TSMutex mtxp;
-
- L = transform_ctx->hctx->lua;
- mtxp = transform_ctx->hctx->mctx->mutexp;
-
- output_conn = TSTransformOutputVConnGet(contp);
- input_vio = TSVConnWriteVIOGet(contp);
- input_reader = TSVIOReaderGet(input_vio);
-
- if (!transform_ctx->output_buffer) {
- transform_ctx->output_buffer = TSIOBufferCreate();
- transform_ctx->output_reader = TSIOBufferReaderAlloc(transform_ctx->output_buffer);
- transform_ctx->output_vio = TSVConnWrite(output_conn, contp, transform_ctx->output_reader, INT64_MAX);
- }
-
- if (!TSVIOBufferGet(input_vio)) {
- TSVIONBytesSet(transform_ctx->output_vio, transform_ctx->total);
- TSVIOReenable(transform_ctx->output_vio);
- return 1;
- }
+ TSVConn output_conn;
+ TSVIO input_vio;
+ TSIOBufferReader input_reader;
+ TSIOBufferBlock blk;
+ int64_t towrite, blk_len, upstream_done, avail, left;
+ const char *start;
+ const char *res;
+ size_t res_len;
+ int ret, eos;
+
+ lua_State *L;
+ TSMutex mtxp;
+
+ L = transform_ctx->hctx->lua;
+ mtxp = transform_ctx->hctx->mctx->mutexp;
+
+ output_conn = TSTransformOutputVConnGet(contp);
+ input_vio = TSVConnWriteVIOGet(contp);
+ input_reader = TSVIOReaderGet(input_vio);
+
+ if (!transform_ctx->output_buffer) {
+ transform_ctx->output_buffer = TSIOBufferCreate();
+ transform_ctx->output_reader = TSIOBufferReaderAlloc(transform_ctx->output_buffer);
+ transform_ctx->output_vio = TSVConnWrite(output_conn, contp, transform_ctx->output_reader, INT64_MAX);
+ }
+
+ if (!TSVIOBufferGet(input_vio)) {
+ TSVIONBytesSet(transform_ctx->output_vio, transform_ctx->total);
+ TSVIOReenable(transform_ctx->output_vio);
+ return 1;
+ }
- if (transform_ctx->eos) {
- return 1;
- }
+ if (transform_ctx->eos) {
+ return 1;
+ }
- left = towrite = TSVIONTodoGet(input_vio);
- upstream_done = TSVIONDoneGet(input_vio);
- avail = TSIOBufferReaderAvail(input_reader);
- eos = 0;
+ left = towrite = TSVIONTodoGet(input_vio);
+ upstream_done = TSVIONDoneGet(input_vio);
+ avail = TSIOBufferReaderAvail(input_reader);
+ eos = 0;
- if (left <= avail)
- eos = 1;
+ if (left <= avail)
+ eos = 1;
- if (towrite > avail)
- towrite = avail;
+ if (towrite > avail)
+ towrite = avail;
- TSMutexLock(mtxp);
+ TSMutexLock(mtxp);
- blk = TSIOBufferReaderStart(input_reader);
+ blk = TSIOBufferReaderStart(input_reader);
- do {
- start = TSIOBufferBlockReadStart(blk, input_reader, &blk_len);
+ do {
+ start = TSIOBufferBlockReadStart(blk, input_reader, &blk_len);
- lua_pushlightuserdata(L, transform_ctx);
- lua_rawget(L, LUA_GLOBALSINDEX); /* push function */
+ lua_pushlightuserdata(L, transform_ctx);
+ lua_rawget(L, LUA_GLOBALSINDEX); /* push function */
- if (towrite > blk_len) {
- lua_pushlstring(L, start, (size_t)blk_len);
- towrite -= blk_len;
- } else {
- lua_pushlstring(L, start, (size_t)towrite);
- towrite = 0;
- }
+ if (towrite > blk_len) {
+ lua_pushlstring(L, start, (size_t) blk_len);
+ towrite -= blk_len;
+ } else {
+ lua_pushlstring(L, start, (size_t) towrite);
+ towrite = 0;
+ }
- if (!towrite && eos) {
- lua_pushinteger(L, 1); /* second param, not finish */
- } else {
- lua_pushinteger(L, 0); /* second param, not finish */
- }
+ if (!towrite && eos) {
+ lua_pushinteger(L, 1); /* second param, not finish */
+ } else {
+ lua_pushinteger(L, 0); /* second param, not finish */
+ }
- if (lua_pcall(L, 2, 2, 0)) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(L, -1));
- }
+ if (lua_pcall(L, 2, 2, 0)) {
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(L, -1));
+ }
- ret = lua_tointeger(L, -1); /* 0 is not finished, 1 is finished */
- res = lua_tolstring(L, -2, &res_len);
+ ret = lua_tointeger(L, -1); /* 0 is not finished, 1 is finished */
+ res = lua_tolstring(L, -2, &res_len);
- if (res && res_len) {
- TSIOBufferWrite(transform_ctx->output_buffer, res, res_len);
- transform_ctx->total += res_len;
- }
+ if (res && res_len) {
+ TSIOBufferWrite(transform_ctx->output_buffer, res, res_len);
+ transform_ctx->total += res_len;
+ }
- lua_pop(L, 2);
+ lua_pop(L, 2);
- if (ret || (eos && !towrite)) { // EOS
- eos = 1;
- break;
- }
+ if (ret || (eos && !towrite)) { // EOS
+ eos = 1;
+ break;
+ }
- blk = TSIOBufferBlockNext(blk);
+ blk = TSIOBufferBlockNext(blk);
- } while (blk && towrite > 0);
+ } while (blk && towrite > 0);
- TSMutexUnlock(mtxp);
+ TSMutexUnlock(mtxp);
- TSIOBufferReaderConsume(input_reader, avail);
- TSVIONDoneSet(input_vio, upstream_done + avail);
+ TSIOBufferReaderConsume(input_reader, avail);
+ TSVIONDoneSet(input_vio, upstream_done + avail);
- if (eos) {
- transform_ctx->eos = 1;
- TSVIONBytesSet(transform_ctx->output_vio, transform_ctx->total);
- TSVIOReenable(transform_ctx->output_vio);
- TSContCall(TSVIOContGet(input_vio), TS_EVENT_VCONN_WRITE_COMPLETE, input_vio);
- } else {
- TSVIOReenable(transform_ctx->output_vio);
- TSContCall(TSVIOContGet(input_vio), TS_EVENT_VCONN_WRITE_READY, input_vio);
- }
+ if (eos) {
+ transform_ctx->eos = 1;
+ TSVIONBytesSet(transform_ctx->output_vio, transform_ctx->total);
+ TSVIOReenable(transform_ctx->output_vio);
+ TSContCall(TSVIOContGet(input_vio), TS_EVENT_VCONN_WRITE_COMPLETE, input_vio);
+ } else {
+ TSVIOReenable(transform_ctx->output_vio);
+ TSContCall(TSVIOContGet(input_vio), TS_EVENT_VCONN_WRITE_READY, input_vio);
+ }
- return 1;
+ return 1;
}
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_transform.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_transform.h b/plugins/experimental/ts_lua/ts_lua_transform.h
index c8b6568..b05294e 100644
--- a/plugins/experimental/ts_lua/ts_lua_transform.h
+++ b/plugins/experimental/ts_lua/ts_lua_transform.h
@@ -25,4 +25,3 @@
int ts_lua_transform_entry(TSCont contp, TSEvent event, void *edata);
#endif
-
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/63007927/plugins/experimental/ts_lua/ts_lua_util.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/ts_lua/ts_lua_util.c b/plugins/experimental/ts_lua/ts_lua_util.c
index 81231ee..72e742d 100644
--- a/plugins/experimental/ts_lua/ts_lua_util.c
+++ b/plugins/experimental/ts_lua/ts_lua_util.c
@@ -30,434 +30,433 @@
#include "ts_lua_misc.h"
#include "ts_lua_log.h"
-static lua_State * ts_lua_new_state();
-static void ts_lua_init_registry(lua_State *L);
-static void ts_lua_init_globals(lua_State *L);
-static void ts_lua_inject_ts_api(lua_State *L);
+static lua_State *ts_lua_new_state();
+static void ts_lua_init_registry(lua_State * L);
+static void ts_lua_init_globals(lua_State * L);
+static void ts_lua_inject_ts_api(lua_State * L);
int
-ts_lua_create_vm(ts_lua_main_ctx *arr, int n)
+ts_lua_create_vm(ts_lua_main_ctx * arr, int n)
{
- int i;
- lua_State *L;
+ int i;
+ lua_State *L;
- for (i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
- L = ts_lua_new_state();
+ L = ts_lua_new_state();
- if (L == NULL)
- return -1;
+ if (L == NULL)
+ return -1;
- lua_pushvalue(L, LUA_GLOBALSINDEX);
+ lua_pushvalue(L, LUA_GLOBALSINDEX);
- arr[i].gref = luaL_ref(L, LUA_REGISTRYINDEX);
- arr[i].lua = L;
- arr[i].mutexp = TSMutexCreate();
- }
+ arr[i].gref = luaL_ref(L, LUA_REGISTRYINDEX);
+ arr[i].lua = L;
+ arr[i].mutexp = TSMutexCreate();
+ }
- return 0;
+ return 0;
}
void
-ts_lua_destroy_vm(ts_lua_main_ctx *arr, int n)
+ts_lua_destroy_vm(ts_lua_main_ctx * arr, int n)
{
- int i;
- lua_State *L;
+ int i;
+ lua_State *L;
- for (i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
- L = arr[i].lua;
- if (L)
- lua_close(L);
- }
+ L = arr[i].lua;
+ if (L)
+ lua_close(L);
+ }
- return;
+ return;
}
lua_State *
ts_lua_new_state()
{
- lua_State *L;
+ lua_State *L;
- L = luaL_newstate();
+ L = luaL_newstate();
- if (L == NULL) {
- return NULL;
- }
+ if (L == NULL) {
+ return NULL;
+ }
- luaL_openlibs(L);
+ luaL_openlibs(L);
- ts_lua_init_registry(L);
+ ts_lua_init_registry(L);
- ts_lua_init_globals(L);
+ ts_lua_init_globals(L);
- return L;
+ return L;
}
int
-ts_lua_add_module(ts_lua_instance_conf *conf, ts_lua_main_ctx *arr, int n, int argc, char *argv[])
+ts_lua_add_module(ts_lua_instance_conf * conf, ts_lua_main_ctx * arr, int n, int argc, char *argv[])
{
- int i, ret;
- int t;
- lua_State *L;
-
- for (i = 0; i < n; i++) {
+ int i, ret;
+ int t;
+ lua_State *L;
- L = arr[i].lua;
+ for (i = 0; i < n; i++) {
- lua_newtable(L); // create this module's global table
- lua_pushvalue(L, -1);
- lua_setfield(L, -2, "_G");
- lua_newtable(L);
- lua_rawgeti(L, LUA_REGISTRYINDEX, arr[i].gref);
- lua_setfield(L, -2, "__index");
- lua_setmetatable(L, -2);
- lua_replace(L, LUA_GLOBALSINDEX);
+ L = arr[i].lua;
- if (luaL_loadfile(L, conf->script)) {
- fprintf(stderr, "[%s] luaL_loadfile %s failed: %s\n", __FUNCTION__, conf->script, lua_tostring(L, -1));
- lua_pop(L, 1);
- return -1;
- }
+ lua_newtable(L); // create this module's global table
+ lua_pushvalue(L, -1);
+ lua_setfield(L, -2, "_G");
+ lua_newtable(L);
+ lua_rawgeti(L, LUA_REGISTRYINDEX, arr[i].gref);
+ lua_setfield(L, -2, "__index");
+ lua_setmetatable(L, -2);
+ lua_replace(L, LUA_GLOBALSINDEX);
+
+ if (luaL_loadfile(L, conf->script)) {
+ fprintf(stderr, "[%s] luaL_loadfile %s failed: %s\n", __FUNCTION__, conf->script, lua_tostring(L, -1));
+ lua_pop(L, 1);
+ return -1;
+ }
- if (lua_pcall(L, 0, 0, 0)) {
- fprintf(stderr, "[%s] lua_pcall %s failed: %s\n", __FUNCTION__, conf->script, lua_tostring(L, -1));
- lua_pop(L, 1);
- return -1;
- }
+ if (lua_pcall(L, 0, 0, 0)) {
+ fprintf(stderr, "[%s] lua_pcall %s failed: %s\n", __FUNCTION__, conf->script, lua_tostring(L, -1));
+ lua_pop(L, 1);
+ return -1;
+ }
- /* call "__init__", to parse parameters */
- lua_getglobal(L, "__init__");
+ /* call "__init__", to parse parameters */
+ lua_getglobal(L, "__init__");
- if (lua_type(L, -1) == LUA_TFUNCTION) {
+ if (lua_type(L, -1) == LUA_TFUNCTION) {
- lua_newtable(L);
+ lua_newtable(L);
- for (t = 0; t < argc; t++) {
- lua_pushnumber(L, t);
- lua_pushstring(L, argv[t]);
- lua_rawset(L, -3);
- }
+ for (t = 0; t < argc; t++) {
+ lua_pushnumber(L, t);
+ lua_pushstring(L, argv[t]);
+ lua_rawset(L, -3);
+ }
- if (lua_pcall(L, 1, 1, 0)) {
- fprintf(stderr, "[%s] lua_pcall %s failed: %s\n", __FUNCTION__, conf->script, lua_tostring(L, -1));
- lua_pop(L, 1);
- return -1;
- }
+ if (lua_pcall(L, 1, 1, 0)) {
+ fprintf(stderr, "[%s] lua_pcall %s failed: %s\n", __FUNCTION__, conf->script, lua_tostring(L, -1));
+ lua_pop(L, 1);
+ return -1;
+ }
- ret = lua_tonumber(L, -1);
- lua_pop(L, 1);
+ ret = lua_tonumber(L, -1);
+ lua_pop(L, 1);
- if (ret)
- return -1; /* script parse error */
+ if (ret)
+ return -1; /* script parse error */
- } else {
- lua_pop(L, 1); /* pop nil */
- }
+ } else {
+ lua_pop(L, 1); /* pop nil */
+ }
- lua_pushlightuserdata(L, conf);
- lua_pushvalue(L, LUA_GLOBALSINDEX);
- lua_rawset(L, LUA_REGISTRYINDEX);
+ lua_pushlightuserdata(L, conf);
+ lua_pushvalue(L, LUA_GLOBALSINDEX);
+ lua_rawset(L, LUA_REGISTRYINDEX);
- lua_newtable(L);
- lua_replace(L, LUA_GLOBALSINDEX); // set empty table to global
- }
+ lua_newtable(L);
+ lua_replace(L, LUA_GLOBALSINDEX); // set empty table to global
+ }
- return 0;
+ return 0;
}
-static
-void ts_lua_init_registry(lua_State *L ATS_UNUSED)
+static void
+ts_lua_init_registry(lua_State * L ATS_UNUSED)
{
- return;
+ return;
}
-static
-void ts_lua_init_globals(lua_State *L)
+static void
+ts_lua_init_globals(lua_State * L)
{
- ts_lua_inject_ts_api(L);
+ ts_lua_inject_ts_api(L);
}
static void
-ts_lua_inject_ts_api(lua_State *L)
+ts_lua_inject_ts_api(lua_State * L)
{
- lua_newtable(L);
+ lua_newtable(L);
- ts_lua_inject_remap_api(L);
+ ts_lua_inject_remap_api(L);
- ts_lua_inject_client_request_api(L);
- ts_lua_inject_server_request_api(L);
- ts_lua_inject_server_response_api(L);
- ts_lua_inject_client_response_api(L);
- ts_lua_inject_cached_response_api(L);
- ts_lua_inject_log_api(L);
+ ts_lua_inject_client_request_api(L);
+ ts_lua_inject_server_request_api(L);
+ ts_lua_inject_server_response_api(L);
+ ts_lua_inject_client_response_api(L);
+ ts_lua_inject_cached_response_api(L);
+ ts_lua_inject_log_api(L);
- ts_lua_inject_context_api(L);
- ts_lua_inject_hook_api(L);
+ ts_lua_inject_context_api(L);
+ ts_lua_inject_hook_api(L);
- ts_lua_inject_http_api(L);
- ts_lua_inject_misc_api(L);
+ ts_lua_inject_http_api(L);
+ ts_lua_inject_misc_api(L);
- lua_getglobal(L, "package");
- lua_getfield(L, -1, "loaded");
- lua_pushvalue(L, -3);
- lua_setfield(L, -2, "ts");
- lua_pop(L, 2);
+ lua_getglobal(L, "package");
+ lua_getfield(L, -1, "loaded");
+ lua_pushvalue(L, -3);
+ lua_setfield(L, -2, "ts");
+ lua_pop(L, 2);
- lua_setglobal(L, "ts");
+ lua_setglobal(L, "ts");
}
void
-ts_lua_set_http_ctx(lua_State *L, ts_lua_http_ctx *ctx)
+ts_lua_set_http_ctx(lua_State * L, ts_lua_http_ctx * ctx)
{
- lua_pushliteral(L, "__ts_http_ctx");
- lua_pushlightuserdata(L, ctx);
- lua_rawset(L, LUA_GLOBALSINDEX);
+ lua_pushliteral(L, "__ts_http_ctx");
+ lua_pushlightuserdata(L, ctx);
+ lua_rawset(L, LUA_GLOBALSINDEX);
}
ts_lua_http_ctx *
-ts_lua_get_http_ctx(lua_State *L)
+ts_lua_get_http_ctx(lua_State * L)
{
- ts_lua_http_ctx *ctx;
+ ts_lua_http_ctx *ctx;
- lua_pushliteral(L, "__ts_http_ctx");
- lua_rawget(L, LUA_GLOBALSINDEX);
- ctx = lua_touserdata(L, -1);
+ lua_pushliteral(L, "__ts_http_ctx");
+ lua_rawget(L, LUA_GLOBALSINDEX);
+ ctx = lua_touserdata(L, -1);
- lua_pop(L, 1); // pop the ctx out
+ lua_pop(L, 1); // pop the ctx out
- return ctx;
+ return ctx;
}
ts_lua_http_ctx *
-ts_lua_create_http_ctx(ts_lua_main_ctx *main_ctx, ts_lua_instance_conf *conf)
+ts_lua_create_http_ctx(ts_lua_main_ctx * main_ctx, ts_lua_instance_conf * conf)
{
- ts_lua_http_ctx *http_ctx;
- lua_State *L;
- lua_State *l;
+ ts_lua_http_ctx *http_ctx;
+ lua_State *L;
+ lua_State *l;
- L = main_ctx->lua;
+ L = main_ctx->lua;
- http_ctx = TSmalloc(sizeof(ts_lua_http_ctx));
- memset(http_ctx, 0, sizeof(ts_lua_http_ctx));
+ http_ctx = TSmalloc(sizeof(ts_lua_http_ctx));
+ memset(http_ctx, 0, sizeof(ts_lua_http_ctx));
- http_ctx->lua = lua_newthread(L);
- l = http_ctx->lua;
+ http_ctx->lua = lua_newthread(L);
+ l = http_ctx->lua;
- lua_pushlightuserdata(L, conf);
- lua_rawget(L, LUA_REGISTRYINDEX);
+ lua_pushlightuserdata(L, conf);
+ lua_rawget(L, LUA_REGISTRYINDEX);
- /* new globals table for coroutine */
- lua_newtable(l);
- lua_pushvalue(l, -1);
- lua_setfield(l, -2, "_G");
- lua_newtable(l);
- lua_xmove(L, l, 1);
- lua_setfield(l, -2, "__index");
- lua_setmetatable(l, -2);
+ /* new globals table for coroutine */
+ lua_newtable(l);
+ lua_pushvalue(l, -1);
+ lua_setfield(l, -2, "_G");
+ lua_newtable(l);
+ lua_xmove(L, l, 1);
+ lua_setfield(l, -2, "__index");
+ lua_setmetatable(l, -2);
- lua_replace(l, LUA_GLOBALSINDEX);
+ lua_replace(l, LUA_GLOBALSINDEX);
- http_ctx->ref = luaL_ref(L, LUA_REGISTRYINDEX);
+ http_ctx->ref = luaL_ref(L, LUA_REGISTRYINDEX);
- http_ctx->mctx = main_ctx;
+ http_ctx->mctx = main_ctx;
- ts_lua_set_http_ctx(http_ctx->lua, http_ctx);
- ts_lua_create_context_table(http_ctx->lua);
+ ts_lua_set_http_ctx(http_ctx->lua, http_ctx);
+ ts_lua_create_context_table(http_ctx->lua);
- return http_ctx;
+ return http_ctx;
}
void
-ts_lua_destroy_http_ctx(ts_lua_http_ctx* http_ctx)
+ts_lua_destroy_http_ctx(ts_lua_http_ctx * http_ctx)
{
- ts_lua_main_ctx *main_ctx;
+ ts_lua_main_ctx *main_ctx;
- main_ctx = http_ctx->mctx;
+ main_ctx = http_ctx->mctx;
- if(!http_ctx->remap) {
- if(http_ctx->client_request_bufp) {
- if(http_ctx->client_request_url) {
- TSHandleMLocRelease(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, http_ctx->client_request_url);
- }
- TSHandleMLocRelease(http_ctx->client_request_bufp, TS_NULL_MLOC, http_ctx->client_request_hdrp);
+ if (!http_ctx->remap) {
+ if (http_ctx->client_request_bufp) {
+ if (http_ctx->client_request_url) {
+ TSHandleMLocRelease(http_ctx->client_request_bufp, http_ctx->client_request_hdrp, http_ctx->client_request_url);
}
- }
-
- if (http_ctx->server_request_bufp) {
- TSHandleMLocRelease(http_ctx->server_request_bufp, TS_NULL_MLOC, http_ctx->server_request_hdrp);
+ TSHandleMLocRelease(http_ctx->client_request_bufp, TS_NULL_MLOC, http_ctx->client_request_hdrp);
}
+ }
- if (http_ctx->server_response_bufp) {
- TSHandleMLocRelease(http_ctx->server_response_bufp, TS_NULL_MLOC, http_ctx->server_response_hdrp);
- }
+ if (http_ctx->server_request_bufp) {
+ TSHandleMLocRelease(http_ctx->server_request_bufp, TS_NULL_MLOC, http_ctx->server_request_hdrp);
+ }
- if (http_ctx->client_response_bufp) {
- TSHandleMLocRelease(http_ctx->client_response_bufp, TS_NULL_MLOC, http_ctx->client_response_hdrp);
- }
+ if (http_ctx->server_response_bufp) {
+ TSHandleMLocRelease(http_ctx->server_response_bufp, TS_NULL_MLOC, http_ctx->server_response_hdrp);
+ }
- if (http_ctx->cached_response_bufp) {
- TSHandleMLocRelease(http_ctx->cached_response_bufp, TS_NULL_MLOC, http_ctx->cached_response_hdrp);
- }
+ if (http_ctx->client_response_bufp) {
+ TSHandleMLocRelease(http_ctx->client_response_bufp, TS_NULL_MLOC, http_ctx->client_response_hdrp);
+ }
+
+ if (http_ctx->cached_response_bufp) {
+ TSHandleMLocRelease(http_ctx->cached_response_bufp, TS_NULL_MLOC, http_ctx->cached_response_hdrp);
+ }
- luaL_unref(main_ctx->lua, LUA_REGISTRYINDEX, http_ctx->ref);
- TSfree(http_ctx);
+ luaL_unref(main_ctx->lua, LUA_REGISTRYINDEX, http_ctx->ref);
+ TSfree(http_ctx);
}
void
-ts_lua_set_http_intercept_ctx(lua_State *L, ts_lua_http_intercept_ctx *ictx)
+ts_lua_set_http_intercept_ctx(lua_State * L, ts_lua_http_intercept_ctx * ictx)
{
- lua_pushliteral(L, "__ts_http_intercept_ctx");
- lua_pushlightuserdata(L, ictx);
- lua_rawset(L, LUA_GLOBALSINDEX);
+ lua_pushliteral(L, "__ts_http_intercept_ctx");
+ lua_pushlightuserdata(L, ictx);
+ lua_rawset(L, LUA_GLOBALSINDEX);
}
ts_lua_http_intercept_ctx *
-ts_lua_get_http_intercept_ctx(lua_State *L)
+ts_lua_get_http_intercept_ctx(lua_State * L)
{
- ts_lua_http_intercept_ctx *ictx;
+ ts_lua_http_intercept_ctx *ictx;
- lua_pushliteral(L, "__ts_http_intercept_ctx");
- lua_rawget(L, LUA_GLOBALSINDEX);
- ictx = lua_touserdata(L, -1);
+ lua_pushliteral(L, "__ts_http_intercept_ctx");
+ lua_rawget(L, LUA_GLOBALSINDEX);
+ ictx = lua_touserdata(L, -1);
- lua_pop(L, 1); // pop the ictx out
+ lua_pop(L, 1); // pop the ictx out
- return ictx;
+ return ictx;
}
ts_lua_http_intercept_ctx *
-ts_lua_create_http_intercept_ctx(ts_lua_http_ctx *http_ctx)
+ts_lua_create_http_intercept_ctx(ts_lua_http_ctx * http_ctx)
{
- lua_State *L;
- ts_lua_http_intercept_ctx *ictx;
+ lua_State *L;
+ ts_lua_http_intercept_ctx *ictx;
- L = http_ctx->lua;
+ L = http_ctx->lua;
- ictx = TSmalloc(sizeof(ts_lua_http_intercept_ctx));
- memset(ictx, 0, sizeof(ts_lua_http_intercept_ctx));
+ ictx = TSmalloc(sizeof(ts_lua_http_intercept_ctx));
+ memset(ictx, 0, sizeof(ts_lua_http_intercept_ctx));
- ictx->lua = lua_newthread(L);
+ ictx->lua = lua_newthread(L);
- ictx->ref = luaL_ref(L, LUA_REGISTRYINDEX);
+ ictx->ref = luaL_ref(L, LUA_REGISTRYINDEX);
- ictx->hctx = http_ctx;
+ ictx->hctx = http_ctx;
- ts_lua_set_http_intercept_ctx(ictx->lua, ictx);
+ ts_lua_set_http_intercept_ctx(ictx->lua, ictx);
- return ictx;
+ return ictx;
}
-void
-ts_lua_destroy_http_intercept_ctx(ts_lua_http_intercept_ctx *ictx)
+void
+ts_lua_destroy_http_intercept_ctx(ts_lua_http_intercept_ctx * ictx)
{
- ts_lua_http_ctx *http_ctx;
+ ts_lua_http_ctx *http_ctx;
- http_ctx = ictx->hctx;
+ http_ctx = ictx->hctx;
- if (ictx->net_vc)
- TSVConnClose(ictx->net_vc);
+ if (ictx->net_vc)
+ TSVConnClose(ictx->net_vc);
- TS_LUA_RELEASE_IO_HANDLE((&ictx->input));
- TS_LUA_RELEASE_IO_HANDLE((&ictx->output));
+ TS_LUA_RELEASE_IO_HANDLE((&ictx->input));
+ TS_LUA_RELEASE_IO_HANDLE((&ictx->output));
- luaL_unref(http_ctx->lua, LUA_REGISTRYINDEX, ictx->ref);
- TSfree(ictx);
- return;
+ luaL_unref(http_ctx->lua, LUA_REGISTRYINDEX, ictx->ref);
+ TSfree(ictx);
+ return;
}
-void
-ts_lua_destroy_transform_ctx(ts_lua_transform_ctx *transform_ctx)
+void
+ts_lua_destroy_transform_ctx(ts_lua_transform_ctx * transform_ctx)
{
- if (!transform_ctx)
- return;
+ if (!transform_ctx)
+ return;
- if (transform_ctx->output_reader)
- TSIOBufferReaderFree(transform_ctx->output_reader);
+ if (transform_ctx->output_reader)
+ TSIOBufferReaderFree(transform_ctx->output_reader);
- if (transform_ctx->output_buffer)
- TSIOBufferDestroy(transform_ctx->output_buffer);
+ if (transform_ctx->output_buffer)
+ TSIOBufferDestroy(transform_ctx->output_buffer);
- TSfree(transform_ctx);
+ TSfree(transform_ctx);
}
int
ts_lua_http_cont_handler(TSCont contp, TSEvent event, void *edata)
{
- TSHttpTxn txnp = (TSHttpTxn)edata;
- lua_State *l;
- ts_lua_http_ctx *http_ctx;
- ts_lua_main_ctx *main_ctx;
+ TSHttpTxn txnp = (TSHttpTxn) edata;
+ lua_State *l;
+ ts_lua_http_ctx *http_ctx;
+ ts_lua_main_ctx *main_ctx;
- http_ctx = (ts_lua_http_ctx*)TSContDataGet(contp);
- main_ctx = http_ctx->mctx;
+ http_ctx = (ts_lua_http_ctx *) TSContDataGet(contp);
+ main_ctx = http_ctx->mctx;
- l = http_ctx->lua;
+ l = http_ctx->lua;
- TSMutexLock(main_ctx->mutexp);
+ TSMutexLock(main_ctx->mutexp);
- switch (event) {
+ switch (event) {
- case TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE:
+ case TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE:
- lua_getglobal(l, TS_LUA_FUNCTION_CACHE_LOOKUP_COMPLETE);
- if (lua_type(l, -1) == LUA_TFUNCTION) {
- if (lua_pcall(l, 0, 1, 0)) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
- }
- }
+ lua_getglobal(l, TS_LUA_FUNCTION_CACHE_LOOKUP_COMPLETE);
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_pcall(l, 0, 1, 0)) {
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
+ }
+ }
- break;
+ break;
- case TS_EVENT_HTTP_SEND_REQUEST_HDR:
+ case TS_EVENT_HTTP_SEND_REQUEST_HDR:
- lua_getglobal(l, TS_LUA_FUNCTION_SEND_REQUEST);
- if (lua_type(l, -1) == LUA_TFUNCTION) {
- if (lua_pcall(l, 0, 1, 0)) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
- }
- }
+ lua_getglobal(l, TS_LUA_FUNCTION_SEND_REQUEST);
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_pcall(l, 0, 1, 0)) {
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
+ }
+ }
- break;
+ break;
- case TS_EVENT_HTTP_READ_RESPONSE_HDR:
+ case TS_EVENT_HTTP_READ_RESPONSE_HDR:
- lua_getglobal(l, TS_LUA_FUNCTION_READ_RESPONSE);
- if (lua_type(l, -1) == LUA_TFUNCTION) {
- if (lua_pcall(l, 0, 1, 0)) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
- }
- }
+ lua_getglobal(l, TS_LUA_FUNCTION_READ_RESPONSE);
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_pcall(l, 0, 1, 0)) {
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
+ }
+ }
- break;
+ break;
- case TS_EVENT_HTTP_SEND_RESPONSE_HDR:
+ case TS_EVENT_HTTP_SEND_RESPONSE_HDR:
- lua_getglobal(l, TS_LUA_FUNCTION_SEND_RESPONSE);
- if (lua_type(l, -1) == LUA_TFUNCTION) {
- if (lua_pcall(l, 0, 1, 0)) {
- fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
- }
- }
+ lua_getglobal(l, TS_LUA_FUNCTION_SEND_RESPONSE);
+ if (lua_type(l, -1) == LUA_TFUNCTION) {
+ if (lua_pcall(l, 0, 1, 0)) {
+ fprintf(stderr, "lua_pcall failed: %s\n", lua_tostring(l, -1));
+ }
+ }
- break;
+ break;
- case TS_EVENT_HTTP_TXN_CLOSE:
- ts_lua_destroy_http_ctx(http_ctx);
- TSContDestroy(contp);
- break;
+ case TS_EVENT_HTTP_TXN_CLOSE:
+ ts_lua_destroy_http_ctx(http_ctx);
+ TSContDestroy(contp);
+ break;
- default:
- break;
- }
+ default:
+ break;
+ }
- TSMutexUnlock(main_ctx->mutexp);
- TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
- return 0;
+ TSMutexUnlock(main_ctx->mutexp);
+ TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
+ return 0;
}
-