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:20 UTC
[3/3] git commit: TS:2716 fix indentation for ts_lua plugin
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
-