private function call($url, $method = 'GET')
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
        //Timeout in 5s
        curl_setopt($ch, CURLOPT_TIMEOUT_MS, $this->timeout);
        $response = curl_exec($ch);
        $errorMsg = curl_error($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        if ($httpCode !== 200) {
            $response = json_decode($response);
            if (isset($response->error)) {
                $errorMsg .= '(' . $response->error . ')';
            }

            throw new \Exception($httpCode . ' : ' . $errorMsg);
        }

        if ($response === false) {
            return false;
        }

        return $response;
    }