comparison src/http/ngx_http_upstream.c @ 8059:a748095bf94e quic

HTTP/3: special handling of client errors in the upstream module. The function ngx_http_upstream_check_broken_connection() terminates the HTTP/1 request if client sends eof. For QUIC (including HTTP/3) the c->write->error flag is now checked instead. This flag is set when the entire QUIC connection is closed or STOP_SENDING was received from client.
author Roman Arutyunyan <arut@nginx.com>
date Thu, 20 Aug 2020 12:33:00 +0300
parents 05e42236e95b
children 0875101c08f7
comparison
equal deleted inserted replaced
8058:357b8afe915e 8059:a748095bf94e
1343 if (r->stream) { 1343 if (r->stream) {
1344 return; 1344 return;
1345 } 1345 }
1346 #endif 1346 #endif
1347 1347
1348 #if (NGX_HTTP_QUIC)
1349
1350 if (c->qs) {
1351 if (c->write->error) {
1352 ngx_http_upstream_finalize_request(r, u,
1353 NGX_HTTP_CLIENT_CLOSED_REQUEST);
1354 }
1355
1356 return;
1357 }
1358
1359 #endif
1360
1348 #if (NGX_HAVE_KQUEUE) 1361 #if (NGX_HAVE_KQUEUE)
1349 1362
1350 if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { 1363 if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) {
1351 1364
1352 if (!ev->pending_eof) { 1365 if (!ev->pending_eof) {