aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_http_js_module.c
diff options
context:
space:
mode:
authorDmitry Volyntsev <xeioex@nginx.com>2019-02-07 20:05:14 +0300
committerDmitry Volyntsev <xeioex@nginx.com>2019-02-07 20:05:14 +0300
commitdc4329745872f295d6b8b40eb61a76ec8696e7f6 (patch)
tree6ada08de297e2e073ddd991a91e459da7c8848ce /nginx/ngx_http_js_module.c
parent5abcdc6f360487c24ecb7f0af12085f57e13f38f (diff)
downloadnjs-dc4329745872f295d6b8b40eb61a76ec8696e7f6.tar.gz
njs-dc4329745872f295d6b8b40eb61a76ec8696e7f6.zip
HTTP: added support for delete operation in r.headersOut.
This closes #64 issue on Github.
Diffstat (limited to 'nginx/ngx_http_js_module.c')
-rw-r--r--nginx/ngx_http_js_module.c16
1 files changed, 15 insertions, 1 deletions
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,
@@ -1016,6 +1018,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)
{
return ngx_http_js_ext_foreach_header(vm, obj, next,