summaryrefslogtreecommitdiff
path: root/plugin/business/tsg-http/src/http_lua.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/business/tsg-http/src/http_lua.cpp')
-rw-r--r--plugin/business/tsg-http/src/http_lua.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugin/business/tsg-http/src/http_lua.cpp b/plugin/business/tsg-http/src/http_lua.cpp
index 78b93ba..1832645 100644
--- a/plugin/business/tsg-http/src/http_lua.cpp
+++ b/plugin/business/tsg-http/src/http_lua.cpp
@@ -657,7 +657,15 @@ static int http_lua_rewrite_header(struct elua_vm *vm)
return 0;
}
- tfe_http_nonstd_field_write(tsg_ctx->replacing, field_name, field_value);
+ enum tfe_http_std_field field_id=http_field_name_to_std_field(field_name, strlen(field_name));
+ if(field_id == TFE_HTTP_UNKNOWN_FIELD)
+ {
+ tfe_http_nonstd_field_write(tsg_ctx->replacing, field_name, field_value);
+ }
+ else
+ {
+ tfe_http_std_field_write(tsg_ctx->replacing, field_id, field_value);
+ }
tsg_ctx->execut_lua_sucess=1;
tsg_ctx->rewrite_header=1;