On 17.08.2010 17:22, Jim Jagielski wrote:
On Aug 17, 2010, at 10:55 AM, Rainer Jung wrote:
On 17.08.2010 16:43, j...@apache.org wrote:
Author: jim
Date: Tue Aug 17 14:43:45 2010
New Revision: 986333
URL: http://svn.apache.org/viewvc?rev=986333&view=rev
Log:
Further checks for non-body requests...
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=986333&r1=986332&r2=986333&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_http.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Tue Aug 17 14:43:45 2010
@@ -704,8 +704,15 @@ int ap_proxy_http_request(apr_pool_t *p,
* Send the HTTP/1.1 request to the remote server
*/
+ /*
+ * To be compliant, we only use 100-Continue for requests with no bodies.
+ * We also make sure we won't be talking HTTP/1.0 as well.
+ */
do_100_continue = (worker->ping_timeout_set
&& !r->header_only
+&& !r->kept_body
+&& !(apr_table_get(r->headers_in, "Content-Length"))
+&& !(apr_table_get(r->headers_in, "Transfer-Encoding"))
Did you mean:
&& (!apr_table_get(r->headers_in, "Content-Length") ||
!apr_table_get(r->headers_in, "Transfer-Encoding")
I think you meant:
&& (!(apr_table_get(r->headers_in, "Content-Length") || apr_table_get(r->headers_in,
"Transfer-Encoding")))
Which xforms to
&& !a
&& !b
See my other post about using expect only *if* there is a body, but
indeed I got it wrong (sigh!):
&& (apr_table_get(r->headers_in, "Content-Length") ||
apr_table_get(r->headers_in, "Transfer-Encoding")
Regards,
Rainer