Exemplo n.º 1
0
 public function testGetHttpClientResetsAuthorizationHeader()
 {
     $client = new Test_Http_Client_19485876();
     $client->setHeaders('Authorization', 'realm="http://www.example.com",oauth_version="1.0"');
     Zend_Oauth::setHttpClient($client);
     $resetClient = Zend_Oauth::getHttpClient();
     $this->assertEquals(null, $resetClient->getHeader('Authorization'));
 }
Exemplo n.º 2
0
 public function getRequestSchemePostBodyClient(array $params)
 {
     $client = Zend_Oauth::getHttpClient();
     $client->setUri($this->_consumer->getRequestTokenUrl());
     $client->setMethod($this->_preferredRequestMethod);
     $client->setRawData($this->_httpUtility->toEncodedQueryString($params));
     return $client;
 }
Exemplo n.º 3
0
 /**
  * Gets the Twitter service object for a token
  *
  * @param string|Zend_Oauth_Token_Access $token Access token object or access token string
  * @param null|string $secret Access token secret if token is provided as string
  *
  * @return Zend_Service_Twitter
  */
 public static function getService($token, $secret = null)
 {
     $options = XenForo_Application::getOptions();
     Zend_Oauth::setHttpClient(XenForo_Helper_Http::getClient('https://api.twitter.com/oauth'));
     if ($token instanceof Zend_Oauth_Token_Access) {
         $accessToken = $token;
     } else {
         $accessToken = new Zend_Oauth_Token_Access();
         $accessToken->setToken($token);
         $accessToken->setTokenSecret($secret);
     }
     return new Zend_Service_Twitter(array('accessToken' => $accessToken, 'oauthOptions' => array('consumerKey' => trim($options->twitterAppKey), 'consumerSecret' => trim($options->twitterAppSecret)), 'httpClientOptions' => XenForo_Helper_Http::getExtraHttpClientOptions('https://api.twitter.com/oauth')));
 }
Exemplo n.º 4
0
 /**
  * Generate and return a HTTP Client configured for the POST Body Request
  * Scheme specified by OAuth, for use in requesting an Access Token.
  *
  * @param  array $params
  * @return Zend_Http_Client
  */
 public function getRequestSchemePostBodyClient(array $params)
 {
     $params = $this->_cleanParamsOfIllegalCustomParameters($params);
     $client = Zend_Oauth::getHttpClient();
     $client->setUri($this->_consumer->getAccessTokenUrl());
     $client->setMethod($this->_preferredRequestMethod);
     $client->setRawData($this->_httpUtility->toEncodedQueryString($params));
     $client->setHeaders(Zend_Http_Client::CONTENT_TYPE, Zend_Http_Client::ENC_URLENCODED);
     return $client;
 }
Exemplo n.º 5
0
 public function teardown()
 {
     Zend_Oauth::clearHttpClient();
 }
Exemplo n.º 6
0
 /**
  * Simple mechanism to delete the entire singleton HTTP Client instance
  * which forces an new instantiation for subsequent requests.
  *
  * @return void
  */
 public static function clearHttpClient()
 {
     self::$httpClient = null;
 }
Exemplo n.º 7
0
 /**
  * Return an instance of Zend_Http_Client configured to use the Query
  * String scheme for an OAuth driven HTTP request.
  *
  * @param array $params
  * @param string $url
  * @return Zend_Http_Client
  */
 public function getRequestSchemeQueryStringClient(array $params, $url)
 {
     $client = Zend_Oauth::getHttpClient();
     $client->setUri($url);
     $client->getUri()->setQuery($this->_httpUtility->toEncodedQueryString($params));
     $client->setMethod($this->_preferredRequestMethod);
     return $client;
 }
 /**
  * Generate and return a HTTP Client configured for the Header Request Scheme
  * specified by OAuth, for use in requesting a Request Token.
  *
  * @param array $params
  * @return Zend_Http_Client
  */
 public function getRequestSchemeHeaderClient(array $params)
 {
     $headerValue = $this->_httpUtility->toAuthorizationHeader($params, $this->_consumer->getRealm());
     $client = Zend_Oauth::getHttpClient();
     $client->setUri($this->_consumer->getRequestTokenUrl());
     $client->setHeaders('Authorization', $headerValue);
     $rawdata = $this->_httpUtility->toEncodedQueryString($params, true);
     if (!empty($rawdata)) {
         $client->setRawData($rawdata, 'application/x-www-form-urlencoded');
     }
     $client->setMethod($this->_preferredRequestMethod);
     return $client;
 }