|Subject:||CONNECT with Content-Length hangs the proxy|
If a client sends a CONNECT to HTTP::Proxy that includes a Content- Length header then the result is a hang of the proxy. It's obviously not a normal condition, but it happened on my configuration using PHP with cURL and the Google Api library. This library explicitly sets a Content-Length header for a POST request and cURL sends it in the CONNECT request to the proxy. I think it's a cURL wrong behavior, but it was much more easier to fix on the proxy side. The solution was simply to add this line: $len = $ct = $te = undef if $method eq "CONNECT"; after this code: my $te = $r->header('Transfer-Encoding'); my $ct = $r->header('Content-Type'); my $len = $r->header('Content-Length'); This way wrong headers are pretty ignored. I don't know if anyone else will ever have the same problem, I think it's not a common situation, anyway I like to report it.