You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2020/07/23 14:03:24 UTC
svn commit: r1880204 - /httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
Author: ylavic
Date: Thu Jul 23 14:03:24 2020
New Revision: 1880204
URL: http://svn.apache.org/viewvc?rev=1880204&view=rev
Log:
mod_proxy_http: follow up to r1879419.
Better ap_proxy_tunnel_run() error handling.
Modified:
httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_http.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_http.c?rev=1880204&r1=1880203&r2=1880204&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_http.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Thu Jul 23 14:03:24 2020
@@ -349,7 +349,7 @@ static void proxy_http_async_cb(void *ba
proxy_http_async_cancel_cb,
req, req->idle_timeout);
}
- else if (status != OK) {
+ else if (ap_is_HTTP_ERROR(status)) {
proxy_http_async_cancel_cb(req);
}
else {
@@ -1757,6 +1757,7 @@ int ap_proxy_http_process_response(proxy
return HTTP_INTERNAL_SERVER_ERROR;
}
+ r->status = HTTP_SWITCHING_PROTOCOLS;
req->proto = upgrade;
if (req->can_go_async) {
@@ -1770,11 +1771,9 @@ int ap_proxy_http_process_response(proxy
/* Let proxy tunnel forward everything within this thread */
req->tunnel->timeout = req->idle_timeout;
status = ap_proxy_tunnel_run(req->tunnel);
- if (!ap_is_HTTP_ERROR(status)) {
- /* Update r->status for custom log */
- status = HTTP_SWITCHING_PROTOCOLS;
+ if (ap_is_HTTP_ERROR(status)) {
+ r->status = status;
}
- r->status = status;
/* We are done with both connections */
r->connection->keepalive = AP_CONN_CLOSE;