diff src/http/ngx_http_header_filter_module.c @ 8653:1efee5e4194c quic

HTTP/3: introduced ngx_http_v3_filter. The filter is responsible for creating HTTP/3 response header and body. The change removes differences to the default branch for ngx_http_chunked_filter_module and ngx_http_header_filter_module.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 27 Nov 2020 17:46:21 +0000
parents a3257a725b3d
children 7c2adf237091
line wrap: on
line diff
--- a/src/http/ngx_http_header_filter_module.c
+++ b/src/http/ngx_http_header_filter_module.c
@@ -187,29 +187,6 @@ ngx_http_header_filter(ngx_http_request_
         r->header_only = 1;
     }
 
-    if (r->headers_out.status_line.len == 0) {
-        if (r->headers_out.status == NGX_HTTP_NO_CONTENT
-            || r->headers_out.status == NGX_HTTP_NOT_MODIFIED)
-        {
-            r->header_only = 1;
-        }
-    }
-
-#if (NGX_HTTP_V3)
-
-    if (r->http_version == NGX_HTTP_VERSION_30) {
-        ngx_chain_t  *cl;
-
-        cl = ngx_http_v3_create_header(r);
-        if (cl == NULL) {
-            return NGX_ERROR;
-        }
-
-        return ngx_http_write_filter(r, cl);
-    }
-
-#endif
-
     if (r->headers_out.last_modified_time != -1) {
         if (r->headers_out.status != NGX_HTTP_OK
             && r->headers_out.status != NGX_HTTP_PARTIAL_CONTENT
@@ -243,6 +220,7 @@ ngx_http_header_filter(ngx_http_request_
             /* 2XX */
 
             if (status == NGX_HTTP_NO_CONTENT) {
+                r->header_only = 1;
                 ngx_str_null(&r->headers_out.content_type);
                 r->headers_out.last_modified_time = -1;
                 r->headers_out.last_modified = NULL;
@@ -259,6 +237,10 @@ ngx_http_header_filter(ngx_http_request_
         {
             /* 3XX */
 
+            if (status == NGX_HTTP_NOT_MODIFIED) {
+                r->header_only = 1;
+            }
+
             status = status - NGX_HTTP_MOVED_PERMANENTLY + NGX_HTTP_OFF_3XX;
             status_line = &ngx_http_status_lines[status];
             len += ngx_http_status_lines[status].len;