- Add videodb PHP/MySQL media collection manager (Blu-ray, DVD, CD) - Dockerfile: PHP 8.1 + Apache with GD/mysqli/exif extensions - docker-compose.yml: app on port 6761 + MySQL 8.0 with health checks - docker-entrypoint.sh: auto-generates config.inc.php from env vars, waits for MySQL, initializes DB schema idempotently - init-db.php: CLI schema installer using app's own prefix_query() logic - Persistent volumes for DB, cache, and cover images Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
1.2 KiB
PHP
49 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace GuzzleHttp\Promise;
|
|
|
|
/**
|
|
* A special exception that is thrown when waiting on a rejected promise.
|
|
*
|
|
* The reason value is available via the getReason() method.
|
|
*/
|
|
class RejectionException extends \RuntimeException
|
|
{
|
|
/** @var mixed Rejection reason. */
|
|
private $reason;
|
|
|
|
/**
|
|
* @param mixed $reason Rejection reason.
|
|
* @param string $description Optional description
|
|
*/
|
|
public function __construct($reason, $description = null)
|
|
{
|
|
$this->reason = $reason;
|
|
|
|
$message = 'The promise was rejected';
|
|
|
|
if ($description) {
|
|
$message .= ' with reason: ' . $description;
|
|
} elseif (is_string($reason)
|
|
|| (is_object($reason) && method_exists($reason, '__toString'))
|
|
) {
|
|
$message .= ' with reason: ' . $this->reason;
|
|
} elseif ($reason instanceof \JsonSerializable) {
|
|
$message .= ' with reason: '
|
|
. json_encode($this->reason, JSON_PRETTY_PRINT);
|
|
}
|
|
|
|
parent::__construct($message);
|
|
}
|
|
|
|
/**
|
|
* Returns the rejection reason.
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function getReason()
|
|
{
|
|
return $this->reason;
|
|
}
|
|
}
|