]> git.kaiwu.me - njs.git/commitdiff
HTTP: added support for delete operation in r.headersOut.
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 7 Feb 2019 17:05:14 +0000 (20:05 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 7 Feb 2019 17:05:14 +0000 (20:05 +0300)
This closes #64 issue on Github.

nginx/ngx_http_js_module.c

index c6608e202d0d53f4ca9727e9344e43fead228e99..f3ef2b75e910d653cb0d9ef7e0eba41e95eec330 100644 (file)
@@ -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)
 {