]> git.kaiwu.me - njs.git/commitdiff
HTTP: returing undefined for Content-Type when the header is absent.
authorDmitry Volyntsev <xeioex@nginx.com>
Wed, 8 Jun 2022 04:30:57 +0000 (21:30 -0700)
committerDmitry Volyntsev <xeioex@nginx.com>
Wed, 8 Jun 2022 04:30:57 +0000 (21:30 -0700)
This unifies empty response value type for r.headersOut.

nginx/ngx_http_js_module.c

index cc3ece3db8fcf6a4b67c4b2a072531ec1e292c26..0c0d911405dab1c0ccbed56a3174d7716040b996 100644 (file)
@@ -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);
     }