aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_http_js_module.c
diff options
context:
space:
mode:
authorDmitry Volyntsev <xeioex@nginx.com>2022-06-07 21:30:57 -0700
committerDmitry Volyntsev <xeioex@nginx.com>2022-06-07 21:30:57 -0700
commit3152e35ee0f7df305763af6b693e0d5e1180e4a4 (patch)
tree1248b9c9fbe4f8e8f512b696b7eec297a858fe67 /nginx/ngx_http_js_module.c
parent1186657c662a5d92d61a4c10486e98cdf5a0724e (diff)
downloadnjs-3152e35ee0f7df305763af6b693e0d5e1180e4a4.tar.gz
njs-3152e35ee0f7df305763af6b693e0d5e1180e4a4.zip
HTTP: returing undefined for Content-Type when the header is absent.
This unifies empty response value type for r.headersOut.
Diffstat (limited to 'nginx/ngx_http_js_module.c')
-rw-r--r--nginx/ngx_http_js_module.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c
index cc3ece3d..0c0d9114 100644
--- a/nginx/ngx_http_js_module.c
+++ b/nginx/ngx_http_js_module.c
@@ -1978,6 +1978,12 @@ ngx_http_js_content_type(njs_vm_t *vm, ngx_http_request_t *r,
if (retval != NULL && setval == NULL) {
hdr = &r->headers_out.content_type;
+
+ if (hdr->len == 0) {
+ njs_value_undefined_set(retval);
+ return NJS_OK;
+ }
+
return njs_vm_value_string_set(vm, retval, hdr->data, hdr->len);
}
@@ -3764,6 +3770,12 @@ ngx_http_js_content_type(njs_vm_t *vm, ngx_http_request_t *r,
if (retval != NULL && setval == NULL) {
hdr = &r->headers_out.content_type;
+
+ if (hdr->len == 0) {
+ njs_value_undefined_set(retval);
+ return NJS_OK;
+ }
+
return njs_vm_value_string_set(vm, retval, hdr->data, hdr->len);
}