mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
mod_proxy_fcgi: handle the HTTP 412 use case
This is a follow up of http://svn.apache.org/r1752347; ap_meet_conditions could return a 412 status that if not handled causes subsequent bogus reads and wrong messages logged (like AH01070). After a chat on dev@ the feedback was to couple HTTP_NOT_MODIFIED with HTTP_PRECONDITION_FAILED, but any other feedback is welcome. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1759984 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -660,13 +660,17 @@ recv_again:
|
|||||||
*err = "passing headers brigade to output filters";
|
*err = "passing headers brigade to output filters";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (status == HTTP_NOT_MODIFIED) {
|
else if (status == HTTP_NOT_MODIFIED
|
||||||
/* The 304 response MUST NOT contain
|
|| HTTP_PRECONDITION_FAILED) {
|
||||||
* a message-body, ignore it.
|
/* Special 'status' cases handled:
|
||||||
|
* 1) HTTP 304 response MUST NOT contain
|
||||||
|
* a message-body, ignore it.
|
||||||
|
* 2) HTTP 412 response.
|
||||||
* The break is not added since there might
|
* The break is not added since there might
|
||||||
* be more bytes to read from the FCGI
|
* be more bytes to read from the FCGI
|
||||||
* connection. Even if the message-body is
|
* connection. Even if the message-body is
|
||||||
* ignored we want to avoid subsequent
|
* ignored (and the EOS bucket has already
|
||||||
|
* been sent) we want to avoid subsequent
|
||||||
* bogus reads. */
|
* bogus reads. */
|
||||||
ignore_body = 1;
|
ignore_body = 1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user