exec() public method

Exec
public exec ( $ch = null ) : mixed
$ch
return mixed Returns the value provided by parseResponse.
示例#1
0
 /**
  *	Выполнить запрос
  *
  *	@param	mixed	$ch
  */
 public function exec($ch = null)
 {
     if ($this->headers) {
         $headers = array_filter($this->headers, 'strlen');
         $this->setOpt(CURLOPT_HTTPHEADER, array_map(function ($value, $key) {
             return $key . ': ' . $value;
         }, $headers, array_keys($headers)));
     }
     $response = parent::exec($ch);
     // TODO совместимость с другими API
     if ($this->http_status_code && isset($this->exceptions[$this->http_status_code])) {
         $response['error'] = true;
         $response['message'] = implode('; ', $this->response);
     }
     if (isset($response['error'])) {
         $exception = 'Exception';
         if (isset($this->exceptions[$this->error_code])) {
             $exception = 'Mackey\\Yandex\\Exception\\' . $this->exceptions[$this->error_code];
         }
         try {
             throw (new \ReflectionClass($exception))->newInstance($response['message'], $this->error_code);
         } catch (\ReflectionException $exc) {
             throw new \Exception($response['message'], $this->error_code, $exc);
         }
     }
     return $response;
 }