public function request($meth, $url, $params = null) { $params = self::encode($params); $headers = $this->setHeaders(); $curl = curl_init(); $meth = strtolower($meth); $opts = array(); $query = ""; if (count($params) > 0) { $query = '?' . $params; } switch ($meth) { case 'get': $opts[CURLOPT_HTTPGET] = 1; $url = $url . $query; break; case 'post': $opts[CURLOPT_POST] = 1; $opts[CURLOPT_POSTFIELDS] = $params; break; case 'put': $opts[CURLOPT_RETURNTRANSFER] = 1; $opts[CURLOPT_CUSTOMREQUEST] = 'PUT'; $opts[CURLOPT_POSTFIELDS] = $params; break; case 'delete': $opts[CURLOPT_CUSTOMREQUEST] = 'DELETE'; $url = $url . $query; break; default: throw new Exception('Wrong method'); } $url = $this->apiUrl($url); $opts[CURLOPT_URL] = $url; $opts[CURLOPT_RETURNTRANSFER] = true; $opts[CURLOPT_CONNECTTIMEOUT] = 30; $opts[CURLOPT_TIMEOUT] = 80; $opts[CURLOPT_RETURNTRANSFER] = true; $opts[CURLOPT_HTTPHEADER] = $headers; $opts[CURLOPT_CAINFO] = dirname(__FILE__) . '/../ssl_data/ca_bundle.crt'; curl_setopt_array($curl, $opts); $response = curl_exec($curl); $response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); if ($response_code != 200) { Conekta_Error::errorHandler($response, $response_code); } return json_decode($response, true); }
public function __construct($message, $param, $http_status = null, $http_body = null, $json_body = null) { parent::__construct($message, $http_status, $http_body, $json_body); $this->param = $param; }