75 protected $_aOptions = array(
'CURLOPT_RETURNTRANSFER' => 1);
104 $this->_sUrl = $this->_sUrl .
"?" . $this->
getQuery();
117 $this->_sQuery = $sQuery;
127 if (is_null($this->_sQuery)) {
131 $sQuery = http_build_query($aParams,
"",
"&");
147 $this->_aParameters = $aParameters;
167 $this->_sHost = $sHost;
187 if (is_null($aHeader) && $this->
getMethod() ==
"POST") {
191 $aHeader[] =
'POST /cgi-bin/webscr HTTP/1.1';
192 $aHeader[] =
'Content-Type: application/x-www-form-urlencoded';
194 $aHeader[] =
'Host: ' . $sHost;
196 $aHeader[] =
'Connection: close';
198 $this->_aHeader = $aHeader;
208 if (is_null($this->_aHeader)) {
222 $this->_sMethod = strtoupper($sMethod);
243 public function setOption($sName, $sValue)
245 if (strpos($sName,
'CURLOPT_') !== 0 || !defined($sConstant = strtoupper($sName))) {
249 $oException =
oxNew(
'oxException');
251 $oException->setMessage(sprintf($oLang->translateString(
'EXCEPTION_NOT_VALID_CURL_CONSTANT', $oLang->getTplLanguage()), $sName));
255 $this->_aOptions[$sName] = $sValue;
275 public function execute()
286 if ($iCurlErrorNumber) {
290 $oException =
oxNew(
'oxException');
292 $oException->setMessage(sprintf($oLang->translateString(
'EXCEPTION_CURL_ERROR', $oLang->getTplLanguage()), $iCurlErrorNumber));
306 $this->_sConnectionCharset = $sCharset;
336 $this->_rCurl = $rCurl;
346 if (is_null($this->_rCurl)) {
364 $this->
_setOpt(CURLOPT_POST, 1);
369 if (count($aOptions)) {
370 foreach ($aOptions as $sName => $mValue) {
371 $this->
_setOpt(constant($sName), $mValue);
421 $this->_sStatusCode = curl_getinfo($this->
_getResource(), CURLINFO_HTTP_CODE);
433 $aParams = array_filter($aParams);
434 $aParams = array_map(array($this,
'_htmlDecode'), $aParams);
448 if (is_array($mParam)) {