Workaround intermittent bugs with HEAD requests by disabling keepalive in HTTPClient.
I think this is a bug in Youtube's web server (sending chunked encoding of an empty body with a HEAD response, leaving the connection out of sync when it doesn't attempt to read a body) but the HTTP_Request2 library may need to be adjusted to watch out for that.
This commit is contained in:
parent
294b290dd9
commit
5cd020bf29
@ -120,6 +120,16 @@ class HTTPClient extends HTTP_Request2
|
|||||||
{
|
{
|
||||||
$this->config['max_redirs'] = 10;
|
$this->config['max_redirs'] = 10;
|
||||||
$this->config['follow_redirects'] = true;
|
$this->config['follow_redirects'] = true;
|
||||||
|
|
||||||
|
// We've had some issues with keepalive breaking with
|
||||||
|
// HEAD requests, such as to youtube which seems to be
|
||||||
|
// emitting chunked encoding info for an empty body
|
||||||
|
// instead of not emitting anything. This may be a
|
||||||
|
// bug on YouTube's end, but the upstream libray
|
||||||
|
// ought to be investigated to see if we can handle
|
||||||
|
// it gracefully in that case as well.
|
||||||
|
$this->config['protocol_version'] = '1.0';
|
||||||
|
|
||||||
parent::__construct($url, $method, $config);
|
parent::__construct($url, $method, $config);
|
||||||
$this->setHeader('User-Agent', $this->userAgent());
|
$this->setHeader('User-Agent', $this->userAgent());
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user