function request($url, $extra = array(), $force_post = false) { $oauth = array('oauth_version' => OAuthRequest::$version, 'oauth_nonce' => OAuthRequest::generate_nonce(), 'oauth_timestamp' => OAuthRequest::generate_timestamp(), 'oauth_consumer_key' => $this->consumer->key, 'oauth_token' => $this->access_token->key, 'oauth_signature_method' => $this->oa_method->get_name()); if (isset($extra['post'])) { $params = $extra['post']; } elseif (isset($extra['get'])) { $params = $extra['get']; } else { $params = array(); } if (isset($extra['post']) || $force_post) { $method = 'POST'; } else { $method = 'GET'; } $params = array_merge($params, $oauth); $request = new OAuthRequest($method, $url, $params); $params['oauth_signature'] = $request->build_signature($this->oa_method, $this->consumer, $this->access_token); $extra[strtolower($method)] = $params; return parent::request($url, $extra, $force_post); }