getHubs(); } /** * Allows the external environment to make ZendOAuth use a specific * Client instance. * * @param Http\Client $httpClient * @return void */ public static function setHttpClient(Http\Client $httpClient) { static::$httpClient = $httpClient; } /** * Return the singleton instance of the HTTP Client. Note that * the instance is reset and cleared of previous parameters GET/POST. * Headers are NOT reset but handled by this component if applicable. * * @return Http\Client */ public static function getHttpClient() { if (!isset(static::$httpClient)) { static::$httpClient = new Http\Client; } else { static::$httpClient->resetParameters(); } return static::$httpClient; } /** * Simple mechanism to delete the entire singleton HTTP Client instance * which forces an new instantiation for subsequent requests. * * @return void */ public static function clearHttpClient() { static::$httpClient = null; } /** * Set the Escaper instance * * If null, resets the instance * * @param null|Escaper $escaper */ public static function setEscaper(Escaper $escaper = null) { static::$escaper = $escaper; } /** * Get the Escaper instance * * If none registered, lazy-loads an instance. * * @return Escaper */ public static function getEscaper() { if (null === static::$escaper) { static::setEscaper(new Escaper()); } return static::$escaper; } /** * RFC 3986 safe url encoding method * * @param string $string * @return string */ public static function urlencode($string) { $escaper = static::getEscaper(); $rawencoded = $escaper->escapeUrl($string); $rfcencoded = str_replace('%7E', '~', $rawencoded); return $rfcencoded; } }