diff src/http/ngx_http_write_filter_module.c @ 8873:94daa42ff5ce quic

Added r->response_sent flag. The flag indicates that the entire response was sent to the socket up to the last_buf flag. The flag is only usable for protocol implementations that call ngx_http_write_filter() from header filter, such as HTTP/1.x and HTTP/3.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 30 Sep 2021 17:14:42 +0300
parents c19ca381b2e6
children 61d0fa67b55e
line wrap: on
line diff
--- a/src/http/ngx_http_write_filter_module.c
+++ b/src/http/ngx_http_write_filter_module.c
@@ -239,6 +239,10 @@ ngx_http_write_filter(ngx_http_request_t
             r->out = NULL;
             c->buffered &= ~NGX_HTTP_WRITE_BUFFERED;
 
+            if (last) {
+                r->response_sent = 1;
+            }
+
             return NGX_OK;
         }
 
@@ -350,6 +354,10 @@ ngx_http_write_filter(ngx_http_request_t
 
     c->buffered &= ~NGX_HTTP_WRITE_BUFFERED;
 
+    if (last) {
+        r->response_sent = 1;
+    }
+
     if ((c->buffered & NGX_LOWLEVEL_BUFFERED) && r->postponed == NULL) {
         return NGX_AGAIN;
     }