From dc4329745872f295d6b8b40eb61a76ec8696e7f6 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Thu, 7 Feb 2019 20:05:14 +0300 Subject: [PATCH] HTTP: added support for delete operation in r.headersOut. This closes #64 issue on Github. --- nginx/ngx_http_js_module.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c index c6608e20..f3ef2b75 100644 --- a/nginx/ngx_http_js_module.c +++ b/nginx/ngx_http_js_module.c @@ -71,6 +71,8 @@ static njs_ret_t ngx_http_js_ext_get_header_out(njs_vm_t *vm, njs_value_t *value, void *obj, uintptr_t data); static njs_ret_t ngx_http_js_ext_set_header_out(njs_vm_t *vm, void *obj, uintptr_t data, nxt_str_t *value); +static njs_ret_t ngx_http_js_ext_delete_header_out(njs_vm_t *vm, void *obj, + uintptr_t data, nxt_bool_t delete); static njs_ret_t ngx_http_js_ext_foreach_header_out(njs_vm_t *vm, void *obj, void *next); /*FIXME*/ static njs_ret_t ngx_http_js_ext_get_status(njs_vm_t *vm, njs_value_t *value, @@ -344,7 +346,7 @@ static njs_external_t ngx_http_js_ext_request[] = { 0, ngx_http_js_ext_get_header_out, ngx_http_js_ext_set_header_out, - NULL, + ngx_http_js_ext_delete_header_out, ngx_http_js_ext_foreach_header_out, ngx_http_js_ext_next_header, NULL, @@ -1015,6 +1017,18 @@ ngx_http_js_ext_set_header_out(njs_vm_t *vm, void *obj, uintptr_t data, } +static njs_ret_t +ngx_http_js_ext_delete_header_out(njs_vm_t *vm, void *obj, uintptr_t data, + nxt_bool_t unused) +{ + nxt_str_t value; + + value = nxt_string_value(""); + + return ngx_http_js_ext_set_header_out(vm, obj, data, &value); +} + + static njs_ret_t ngx_http_js_ext_foreach_header_out(njs_vm_t *vm, void *obj, void *next) { -- 2.47.3