changeset 8850:355461f0cc3b quic

HTTP/3: Huffman encoding for the Last-Modified response field.
author Sergey Kandaurov <pluknet@nginx.com>
date Mon, 13 Sep 2021 16:25:31 +0300
parents 2cb697e7d77f
children 051968b73c59
files src/http/v3/ngx_http_v3_filter_module.c
diffstat 1 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/v3/ngx_http_v3_filter_module.c
+++ b/src/http/v3/ngx_http_v3_filter_module.c
@@ -411,11 +411,18 @@ ngx_http_v3_header_filter(ngx_http_reque
     if (r->headers_out.last_modified == NULL
         && r->headers_out.last_modified_time != -1)
     {
+        n = sizeof("Mon, 28 Sep 1970 06:00:00 GMT") - 1;
+
+        p = ngx_pnalloc(r->pool, n);
+        if (p == NULL) {
+            return NGX_ERROR;
+        }
+
+        ngx_http_time(p, r->headers_out.last_modified_time);
+
         b->last = (u_char *) ngx_http_v3_encode_field_lri(b->last, 0,
-                                  NGX_HTTP_V3_HEADER_LAST_MODIFIED, NULL,
-                                  sizeof("Mon, 28 Sep 1970 06:00:00 GMT") - 1);
-
-        b->last = ngx_http_time(b->last, r->headers_out.last_modified_time);
+                                              NGX_HTTP_V3_HEADER_LAST_MODIFIED,
+                                              p, n);
     }
 
     if (host.data) {