You are here

function TwittersOAuth::http in jQuery social stream 7

Same name and namespace in other branches
  1. 7.2 jquery_social_stream.js.inc \TwittersOAuth::http()

Make an HTTP request

Return value

API results

1 call to TwittersOAuth::http()
TwittersOAuth::oAuthRequest in ./jquery_social_stream.js.inc
Format and sign an sOAuth / API request

File

./jquery_social_stream.js.inc, line 276
JS callbacks.

Class

TwittersOAuth
Twitter sOAuth class

Code

function http($url, $method, $postfields = NULL) {
  $this->http_info = array();
  $ci = curl_init();

  /* Curl settings */
  curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent);
  curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout);
  curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout);
  curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
  curl_setopt($ci, CURLOPT_HTTPHEADER, array(
    'Expect:',
  ));
  curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer);
  curl_setopt($ci, CURLOPT_HEADERFUNCTION, array(
    $this,
    'getHeader',
  ));
  curl_setopt($ci, CURLOPT_HEADER, FALSE);
  switch ($method) {
    case 'POST':
      curl_setopt($ci, CURLOPT_POST, TRUE);
      if (!empty($postfields)) {
        curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
      }
      break;
    case 'DELETE':
      curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');
      if (!empty($postfields)) {
        $url = "{$url}?{$postfields}";
      }
  }
  curl_setopt($ci, CURLOPT_URL, $url);
  $response = curl_exec($ci);
  $this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
  $this->http_info = array_merge($this->http_info, curl_getinfo($ci));
  $this->url = $url;
  curl_close($ci);
  return $response;
}