diff -r 5a6b6e770365 -r 68c69c656a2c web/lib/Zend/Http/Client/Adapter/Curl.php --- a/web/lib/Zend/Http/Client/Adapter/Curl.php Thu May 07 15:10:09 2015 +0200 +++ b/web/lib/Zend/Http/Client/Adapter/Curl.php Thu May 07 15:16:02 2015 +0200 @@ -16,8 +16,8 @@ * @category Zend * @package Zend_Http * @subpackage Client_Adapter - * @version $Id: Curl.php 24593 2012-01-05 20:35:02Z matthew $ - * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) + * @version $Id$ + * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ @@ -42,7 +42,7 @@ * @category Zend * @package Zend_Http * @subpackage Client_Adapter - * @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_Http_Client_Adapter_Curl implements Zend_Http_Client_Adapter_Interface, Zend_Http_Client_Adapter_Stream @@ -222,7 +222,17 @@ } // Set timeout - curl_setopt($this->_curl, CURLOPT_CONNECTTIMEOUT, $this->_config['timeout']); + if (defined('CURLOPT_CONNECTTIMEOUT_MS')) { + curl_setopt($this->_curl, CURLOPT_CONNECTTIMEOUT_MS, $this->_config['timeout'] * 1000); + } else { + curl_setopt($this->_curl, CURLOPT_CONNECTTIMEOUT, $this->_config['timeout']); + } + + if (defined('CURLOPT_TIMEOUT_MS')) { + curl_setopt($this->_curl, CURLOPT_TIMEOUT_MS, $this->_config['timeout'] * 1000); + } else { + curl_setopt($this->_curl, CURLOPT_TIMEOUT, $this->_config['timeout']); + } // Set Max redirects curl_setopt($this->_curl, CURLOPT_MAXREDIRS, $this->_config['maxredirects']); @@ -320,6 +330,11 @@ } break; + case Zend_Http_Client::PATCH: + $curlMethod = CURLOPT_CUSTOMREQUEST; + $curlValue = "PATCH"; + break; + case Zend_Http_Client::DELETE: $curlMethod = CURLOPT_CUSTOMREQUEST; $curlValue = "DELETE"; @@ -355,7 +370,7 @@ $curlHttp = ($httpVersion == 1.1) ? CURL_HTTP_VERSION_1_1 : CURL_HTTP_VERSION_1_0; // mark as HTTP request and set HTTP method - curl_setopt($this->_curl, $curlHttp, true); + curl_setopt($this->_curl, CURLOPT_HTTP_VERSION, $curlHttp); curl_setopt($this->_curl, $curlMethod, $curlValue); if($this->out_stream) { @@ -367,6 +382,7 @@ } else { // ensure headers are also returned curl_setopt($this->_curl, CURLOPT_HEADER, true); + curl_setopt($this->_curl, CURLINFO_HEADER_OUT, true); // ensure actual response is returned curl_setopt($this->_curl, CURLOPT_RETURNTRANSFER, true); @@ -393,9 +409,15 @@ } elseif ($method == Zend_Http_Client::PUT) { // This is a PUT by a setRawData string, not by file-handle curl_setopt($this->_curl, CURLOPT_POSTFIELDS, $body); + } elseif ($method == Zend_Http_Client::PATCH) { + // This is a PATCH by a setRawData string + curl_setopt($this->_curl, CURLOPT_POSTFIELDS, $body); } elseif ($method == Zend_Http_Client::DELETE) { // This is a DELETE by a setRawData string curl_setopt($this->_curl, CURLOPT_POSTFIELDS, $body); + } elseif ($method == Zend_Http_Client::OPTIONS) { + // This is an OPTIONS by a setRawData string + curl_setopt($this->_curl, CURLOPT_POSTFIELDS, $body); } // set additional curl options