Skip to content

Commit 9ea1c06

Browse files
committed
feature: ngx_http_lua_ffi_set_resp_header(): now add an override flag argument to control whether to override existing resp headers.
this feature is required by the new ngx.resp module's add_header() Lua API (in lua-resty-core). thanks spacewander for the patch. Signed-off-by: Yichun Zhang (agentzh) <agentzh@gmail.com>
1 parent 53519cd commit 9ea1c06

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/ngx_http_lua_headers.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,7 +1166,8 @@ ngx_http_lua_ffi_req_get_headers(ngx_http_request_t *r,
11661166
int
11671167
ngx_http_lua_ffi_set_resp_header(ngx_http_request_t *r, const u_char *key_data,
11681168
size_t key_len, int is_nil, const u_char *sval, size_t sval_len,
1169-
ngx_http_lua_ffi_str_t *mvals, size_t mvals_len, char **errmsg)
1169+
ngx_http_lua_ffi_str_t *mvals, size_t mvals_len, int override,
1170+
char **errmsg)
11701171
{
11711172
u_char *p;
11721173
ngx_str_t value, key;
@@ -1249,7 +1250,7 @@ ngx_http_lua_ffi_set_resp_header(ngx_http_request_t *r, const u_char *key_data,
12491250
value.len = len;
12501251

12511252
rc = ngx_http_lua_set_output_header(r, key, value,
1252-
i == 0 /* override */);
1253+
override && i == 0);
12531254

12541255
if (rc == NGX_ERROR) {
12551256
*errmsg = "failed to set header";
@@ -1274,7 +1275,7 @@ ngx_http_lua_ffi_set_resp_header(ngx_http_request_t *r, const u_char *key_data,
12741275
dd("key: %.*s, value: %.*s",
12751276
(int) key.len, key.data, (int) value.len, value.data);
12761277

1277-
rc = ngx_http_lua_set_output_header(r, key, value, 1 /* override */);
1278+
rc = ngx_http_lua_set_output_header(r, key, value, override);
12781279

12791280
if (rc == NGX_ERROR) {
12801281
*errmsg = "failed to set header";

0 commit comments

Comments
 (0)