41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Drupal\media\OEmbed;
|
|
|
|
/**
|
|
* Exception thrown if an oEmbed provider causes an error.
|
|
*
|
|
* @internal
|
|
* This is an internal part of the oEmbed system and should only be used by
|
|
* oEmbed-related code in Drupal core.
|
|
*/
|
|
class ProviderException extends \Exception {
|
|
|
|
/**
|
|
* Information about the oEmbed provider which caused the exception.
|
|
*
|
|
* @var \Drupal\media\OEmbed\Provider
|
|
*
|
|
* @see \Drupal\media\OEmbed\ProviderRepositoryInterface::get()
|
|
*/
|
|
protected $provider;
|
|
|
|
/**
|
|
* ProviderException constructor.
|
|
*
|
|
* @param string $message
|
|
* The exception message. '@name' will be replaced with the provider name
|
|
* if available, or '<unknown>' if not.
|
|
* @param \Drupal\media\OEmbed\Provider $provider
|
|
* (optional) The provider information.
|
|
* @param \Exception $previous
|
|
* (optional) The previous exception, if any.
|
|
*/
|
|
public function __construct($message, Provider $provider = NULL, \Exception $previous = NULL) {
|
|
$this->provider = $provider;
|
|
$message = str_replace('@name', $provider ? $provider->getName() : '<unknown>', $message);
|
|
parent::__construct($message, 0, $previous);
|
|
}
|
|
|
|
}
|