public function testSettingXmlRpcClientSetsUriOfItsHttpClient() { $this->_gravatarXmlRpc->setXmlRpcClient(new Zend_XmlRpc_Client('http://foo')); $uri = $this->_gravatarXmlRpc->getXmlRpcClient()->getHttpClient()->getUri(); $this->assertContains($uri->getHost(), NP_Service_Gravatar_XmlRpc::SECURE_XMLRPC_SERVER); $this->assertEquals('user=' . NP_Service_Gravatar_Utility::emailHash($this->_gravatarXmlRpc->getEmail()), $uri->getQuery()); }
/** * Generates and returns server uri to be used by * $_xmlRpcClient. * * @return string */ protected function _getServerUri() { require_once 'NP/Service/Gravatar/Utility.php'; return self::SECURE_XMLRPC_SERVER . '?user=' . NP_Service_Gravatar_Utility::emailHash($this->getEmail()); }
/** * Gets profile info of some Gravatar's user, based on his/her * email address. Return value is NP_Gravatar_Profile instance, * in case $_responseFormat implements * NP_Service_Gravatar_Profiles_ResponseFormat_ParserInterface * interface. Otherwise, or in case $rawResponse flag is set to * boolean true, Zend_Http_Response instance is returned. * * @param string $email * @param bool $rawResponse Whether raw response object should be returned. * @return NP_Gravatar_Profile|Zend_Http_Response */ public function getProfileInfo($email, $rawResponse = false) { $email = strtolower(trim((string) $email)); $hash = NP_Service_Gravatar_Utility::emailHash($email); $response = $this->getHttpClient()->setMethod(Zend_Http_Client::GET)->setUri(self::GRAVATAR_SERVER . '/' . $hash . '.' . $this->_responseFormat)->request(); $reflected = new ReflectionObject($this->_responseFormat); if ($reflected->implementsInterface('NP_Service_Gravatar_Profiles_ResponseFormat_ParserInterface') && !$rawResponse) { return $this->_responseFormat->profileFromHttpResponse($response); } else { return $response; } }