public function httpDo($verb, $path, $query)
 {
     if (!in_array($verb, array('GET', 'POST'))) {
         return;
     }
     $ret = null;
     $auth = null;
     $url = $this->api_base_url . $path;
     if (isset($this->conf['API_KEY']) && $this->conf['API_KEY'] != '') {
         $auth = implode(':', array($this->conf['API_KEY'], $this->conf['API_SECRET']));
     }
     switch ($verb) {
         case 'GET':
             $headers = array('Accept: application/json');
             $query = http_build_query($query);
             $transfer = cURL::GET($url . '?' . $query, $auth, $headers, $this->user_agent);
             break;
         case 'POST':
             $headers = array('Content-Type: application/json', 'Accept: application/json', 'Content-Length: ' . strlen($query));
             $transfer = cURL::POST($url, $query, $auth, $headers, $this->user_agent);
             break;
     }
     if ($transfer['body'] === false) {
         $ret = array('errors' => array(array('code' => 'curl_error', 'status' => $transfer['error'])));
     } else {
         $ret = json_decode($transfer['body'], true);
     }
     return $ret;
 }