public function execute()
{
$ch = curl_init();
if ($this->_method === 'POST') {
curl_setopt($ch, CURLOPT_URL, $this->_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->_parameters);
} else {
curl_setopt($ch, CURLOPT_URL, $this->_url . ($this->_parameters ? '?' . $this->_parameters : ''));
}
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if (!empty($this->_requestHeader)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $this->_requestHeader);
}
$fullResponse = curl_exec($ch);
$this->_info = curl_getinfo($ch);
$this->_response = substr($fullResponse, $this->_info['header_size'], strlen($fullResponse));
if ($this->_response === false) {
$this->_response = '';
}
$headers = rtrim(substr($fullResponse, 0, $this->_info['header_size']));
$this->_headers = static::parseStringToArray($headers, PHP_EOL, ':');
if ($this->_debug) {
echo "<pre>";
print_r($this->_url);
echo PHP_EOL;
print_r($this->_headers);
echo PHP_EOL;
print_r($this->_response);
echo "</pre>";
}
curl_close($ch);
}