You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.8 KiB
35 lines
1.8 KiB
<?php
|
|
/** @license MIT
|
|
* Copyright 2018 J. King et al.
|
|
* See LICENSE and AUTHORS files for details */
|
|
|
|
declare(strict_types=1);
|
|
namespace MensBeam\Lax;
|
|
|
|
abstract class Exception extends \Exception {
|
|
public const SYMBOLS = [
|
|
// Parsing: 0x1100
|
|
'notSupportedType' => [0x1101, "Document type is not supported"],
|
|
'notJSONType' => [0x1111, "Document Content-Type is not either that of JSON Feed or generic JSON"],
|
|
'notXMLType' => [0x1111, "Document Content-Type is not that of an XML newsfeed"],
|
|
'notJSON' => [0x1112, "Document is not valid JSON"],
|
|
'notXML' => [0x1112, "Document is not well-formed XML"],
|
|
'notJSONFeed' => [0x1113, "Document is not a JSON Feed document"],
|
|
'notXMLFeed' => [0x1113, "Document is not a newsfeed"],
|
|
// Fetching: 0x1200
|
|
'badRequest' => [0x1201, "Client request was not accaptable to the server"],
|
|
'notFound' => [0x1202, "Resource was not found on server"],
|
|
'notAuthorized' => [0x1203, "Supplied credentials are insufficient to access the resource"],
|
|
'tooManyRedirects' => [0x1204, "The configured number of redirects was exceeded"],
|
|
'forbidden' => [0x1211, "Access to the resource is forbidden"],
|
|
'serverError' => [0x1212, "The server returned an error"],
|
|
'networkError' => [0x1213, "A transport error occurred"],
|
|
];
|
|
|
|
public function __construct(string $symbol, \Exception $e = null) {
|
|
$data = self::SYMBOLS[$symbol] ?? null;
|
|
assert(is_array($data));
|
|
[$code, $msg] = $data;
|
|
parent::__construct($msg, $code, $e);
|
|
}
|
|
}
|
|
|