. * * @package OMB * @author Adrian Lang * @license http://www.gnu.org/licenses/agpl.html GNU AGPL 3.0 * @version 0.1a-20090828 * @link http://adrianlang.de/libomb */ /** * Exception stating that the remote service had a failure * * This exception is raised when a remote service failed to return a valid * response to a request or send a valid request. */ class OMB_RemoteServiceException extends Exception { /** * Create exception from Yadis response * * Creates an exception from a passed yadis result. * * @param string $request_uri The target URI for the failed * request * @param Auth_Yadis_HTTPResponse $result The result of the failed * request * * @return OMB_RemoteServiceException A new exception */ public static function fromYadis($request_uri, $result) { if ($result->status == 200) { $err = 'Got wrong response ' . $result->body; } else { $err = 'Got error code ' . $result->status . ' with response ' . $result->body; } return OMB_RemoteServiceException::forRequest($request_uri, $err); } /** * Create exception for a call to a resource * * Creates an exception for a given error message and target URI. * * @param string $action_uri The target URI for the failed request * @param string $failure An error message * * @return OMB_RemoteServiceException A new exception */ public static function forRequest($action_uri, $failure) { return new OMB_RemoteServiceException("Handler for $action_uri: $failure"); } } ?>