public function setBaseUrl($baseUrl) { $validator = new Uri(); if ($validator->isValid($baseUrl)) { $this->baseUrl = $baseUrl; } else { $reasons = ''; foreach ($validator->getMessages() as $message) { $reasons .= "{$message}\n"; } throw new \Exception($reasons); } }
/** * Ensures that getMessages() returns expected default value * * @return void */ public function testGetMessages() { $this->assertEquals(array(), $this->validator->getMessages()); }
/** * * @param String:\Zend\Uri\Uri $apiBaseUri * @throws InvalidArgumentException * @return \Klout\Klout */ public function setApiBaseUri($apiBaseUri) { if (empty($apiBaseUri)) { throw new InvalidArgumentException('apiBaseUri cannot be empty().'); } if ($apiBaseUri instanceof Uri) { // Convert the object to a string if necessary $apiBaseUri = $apiBaseUri->toString(); } elseif (!is_string($apiBaseUri)) { throw new InvalidArgumentException('apiBaseUri must be a String or \\Zend\\Uri\\Uri.'); } // Validate the apiBaseUri $validator = new ValidatorUri(); $validator->setAllowRelative(false); if (!$validator->isValid($apiBaseUri)) { $errors = $validator->getMessages(); $errorMessage = reset($errors); throw new InvalidArgumentException('apiBaseUri is invalid: ' . $errorMessage); } $this->apiBaseUri = $apiBaseUri; // Only create the client if one already exists. if (isset($this->client)) { $this->createClient(); } return $this; }