diff -r 5a6b6e770365 -r 68c69c656a2c web/lib/Zend/Gdata/HttpAdapterStreamingProxy.php --- a/web/lib/Zend/Gdata/HttpAdapterStreamingProxy.php Thu May 07 15:10:09 2015 +0200 +++ b/web/lib/Zend/Gdata/HttpAdapterStreamingProxy.php Thu May 07 15:16:02 2015 +0200 @@ -16,9 +16,9 @@ * @category Zend * @package Zend_Gdata * @subpackage Gdata - * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) + * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License - * @version $Id: HttpAdapterStreamingProxy.php 24593 2012-01-05 20:35:02Z matthew $ + * @version $Id$ */ /** @@ -33,7 +33,7 @@ * @category Zend * @package Zend_Gdata * @subpackage Gdata - * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) + * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Gdata_HttpAdapterStreamingProxy extends Zend_Http_Client_Adapter_Proxy @@ -114,14 +114,19 @@ 'Error writing request to proxy server'); } - //read from $body, write to socket - while ($body->hasData()) { - if (! @fwrite($this->socket, $body->read(self::CHUNK_SIZE))) { + // Read from $body, write to socket + $chunk = $body->read(self::CHUNK_SIZE); + while ($chunk !== false) { + if (!@fwrite($this->socket, $chunk)) { require_once 'Zend/Http/Client/Adapter/Exception.php'; throw new Zend_Http_Client_Adapter_Exception( - 'Error writing request to server'); + 'Error writing request to server' + ); } + $chunk = $body->read(self::CHUNK_SIZE); } + $body->closeFileHandle(); + return 'Large upload, request is not cached.'; } }