public function request($method = null) { $outputArray = array(); $curl = curl_init(); $method = strtolower($method); $opts = array(); // conditions from Checkout and CurlBase $opts[CURLOPT_TIMEOUT] = (int) $this->condArray["DEFAULT_TIMEOUT"]; $opts[CURLOPT_CONNECTTIMEOUT] = (int) $this->condArray['DEFAULT_CONNECT_TIMEOUT']; $opts[CURLOPT_URL] = (string) Helper::setToUtf8($this->absurl); $opts[CURLOPT_RETURNTRANSFER] = (bool) true; $opts[CURLOPT_POST] = (bool) true; $opts[CURLOPT_SSL_VERIFYPEER] = false; $opts[CURLOPT_HTTPHEADER] = array('Content-Type: application/json', 'Authorization: ' . $this->condArray["apiKey"]); $opts[CURLOPT_POSTFIELDS] = Helper::encode($this->dataset, $prefix = 'json'); curl_setopt_array($curl, $opts); $respones = curl_exec($curl); if ($respones === false) { $errno = curl_errno($curl); $message = curl_error($curl); curl_close($curl); $this->handleCurlError($this->absurl, $errno, $message); } $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); $outputArray = array('respons' => $respones, 'status' => $status, 'inputOpts' => $opts); return count($outputArray) > 0 ? $outputArray : null; }