You are here

function TwitterOAuth::http in jQuery social stream 8.2

Same name and namespace in other branches
  1. 8 src/Twitter/TwitterOAuth.php \Drupal\jquery_social_stream\Twitter\TwitterOAuth::http()

Make an HTTP request

Return value

API results

1 call to TwitterOAuth::http()
TwitterOAuth::oAuthRequest in src/Twitter/TwitterOAuth.php
Format and sign an OAuth / API request

File

src/Twitter/TwitterOAuth.php, line 204

Class

TwitterOAuth
Twitter OAuth class

Namespace

Drupal\jquery_social_stream\Twitter

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;
}