diff options
Diffstat (limited to 'vendor/league/uri-interfaces/Exceptions')
4 files changed, 106 insertions, 0 deletions
diff --git a/vendor/league/uri-interfaces/Exceptions/ConversionFailed.php b/vendor/league/uri-interfaces/Exceptions/ConversionFailed.php new file mode 100644 index 000000000..973ffb320 --- /dev/null +++ b/vendor/league/uri-interfaces/Exceptions/ConversionFailed.php @@ -0,0 +1,46 @@ +<?php + +/** + * League.Uri (https://uri.thephpleague.com) + * + * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace League\Uri\Exceptions; + +use League\Uri\Idna\Error; +use League\Uri\Idna\Result; +use Stringable; + +final class ConversionFailed extends SyntaxError +{ + private function __construct( + string $message, + private readonly string $host, + private readonly Result $result + ) { + parent::__construct($message); + } + + public static function dueToIdnError(Stringable|string $host, Result $result): self + { + $reasons = array_map(fn (Error $error): string => $error->description(), $result->errors()); + + return new self('Host `'.$host.'` is invalid: '.implode('; ', $reasons).'.', (string) $host, $result); + } + + public function getHost(): string + { + return $this->host; + } + + public function getResult(): Result + { + return $this->result; + } +} diff --git a/vendor/league/uri-interfaces/Exceptions/MissingFeature.php b/vendor/league/uri-interfaces/Exceptions/MissingFeature.php new file mode 100644 index 000000000..034e969fc --- /dev/null +++ b/vendor/league/uri-interfaces/Exceptions/MissingFeature.php @@ -0,0 +1,21 @@ +<?php + +/** + * League.Uri (https://uri.thephpleague.com) + * + * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace League\Uri\Exceptions; + +use League\Uri\Contracts\UriException; +use RuntimeException; + +class MissingFeature extends RuntimeException implements UriException +{ +} diff --git a/vendor/league/uri-interfaces/Exceptions/OffsetOutOfBounds.php b/vendor/league/uri-interfaces/Exceptions/OffsetOutOfBounds.php new file mode 100644 index 000000000..737a5cc24 --- /dev/null +++ b/vendor/league/uri-interfaces/Exceptions/OffsetOutOfBounds.php @@ -0,0 +1,18 @@ +<?php + +/** + * League.Uri (https://uri.thephpleague.com) + * + * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace League\Uri\Exceptions; + +class OffsetOutOfBounds extends SyntaxError +{ +} diff --git a/vendor/league/uri-interfaces/Exceptions/SyntaxError.php b/vendor/league/uri-interfaces/Exceptions/SyntaxError.php new file mode 100644 index 000000000..f44cca6c9 --- /dev/null +++ b/vendor/league/uri-interfaces/Exceptions/SyntaxError.php @@ -0,0 +1,21 @@ +<?php + +/** + * League.Uri (https://uri.thephpleague.com) + * + * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace League\Uri\Exceptions; + +use InvalidArgumentException; +use League\Uri\Contracts\UriException; + +class SyntaxError extends InvalidArgumentException implements UriException +{ +} |