diff --git a/src/CodesEnum.php b/src/CodesEnum.php index d743bf8..8ed2c49 100644 --- a/src/CodesEnum.php +++ b/src/CodesEnum.php @@ -1,4 +1,4 @@ -value) { + return match ($this) { self::CONTINUE => 'Continue', self::SWITCHING_PROTOCOLS => 'Switching Protocols', self::PROCESSING => 'Processing', @@ -159,54 +155,70 @@ enum CodesEnum: int public static function fromCode(int $code): CodesEnum { return match ($code) { - self::CONTINUE => self::CONTINUE, - self::SWITCHING_PROTOCOLS => self::SWITCHING_PROTOCOLS, - self::PROCESSING => self::PROCESSING, - self::EARLY_HINTS => self::EARLY_HINTS, - self::OK => self::OK, - self::CREATED => self::CREATED, - self::ACCEPTED => self::ACCEPTED, - self::NON_AUTHORITATIVE_INFORMATION => self::NON_AUTHORITATIVE_INFORMATION, - self::NO_CONTENT => self::NO_CONTENT, - self::RESET_CONTENT => self::RESET_CONTENT, - self::PARTIAL_CONTENT => self::PARTIAL_CONTENT, - self::MULTI_STATUS => self::MULTI_STATUS, - self::ALREADY_REPORTED => self::ALREADY_REPORTED, - self::IM_USED => self::IM_USED, - self::MULTIPLE_CHOICES => self::MULTIPLE_CHOICES, - self::MOVED_PERMANENTLY => self::MOVED_PERMANENTLY, - self::FOUND => self::FOUND, - self::SEE_OTHER => self::SEE_OTHER, - self::NOT_MODIFIED => self::NOT_MODIFIED, - self::USE_PROXY => self::USE_PROXY, - self::TEMPORARY_REDIRECT => self::TEMPORARY_REDIRECT, - self::PERMANENT_REDIRECT => self::PERMANENT_REDIRECT, - // Client errors - self::BAD_REQUEST => self::BAD_REQUEST, - self::UNAUTHORIZED => self::UNAUTHORIZED, - self::PAYMENT_REQUIRED => self::PAYMENT_REQUIRED, - self::FORBIDDEN => self::FORBIDDEN, - self::NOT_FOUND => self::NOT_FOUND, - self::METHOD_NOT_ALLOWED => self::METHOD_NOT_ALLOWED, - self::NOT_ACCEPTABLE => self::NOT_ACCEPTABLE, - self::PROXY_AUTHENTICATION_REQUIRED => self::PROXY_AUTHENTICATION_REQUIRED, - self::REQUEST_TIMEOUT => self::REQUEST_TIMEOUT, - self::CONFLICT => self::CONFLICT, - self::GONE => self::_GONE_, - // Server errors - self::INTERNAL_SERVER_ERROR => self::INTERNAL_SERVER_ERROR, - self::NOT_IMPLEMENTED => self::NOT_IMPLEMENTED, - self::BAD_GATEWAY => self::BAD_GATEWAY, - self::SERVICE_UNAVAILABLE => self::SERVICE_UNAVAILABLE, - self::GATEWAY_TIMEOUT => self::GATEWAY_TIMEOUT, - self::HTTP_VERSION_NOT_SUPPORTED => self::HTTP_VERSION_NOT_SUPPORTED, - self::VARIANT_ALSO_NEGOTIATES => self::VARIANT_ALSO_NEGOTIATES, - self::INSUFFICIENT_STORAGE => self::INSUFFICIENT_STORAGE, - self::LOOP_DETECTED => self::LOOP_DETECTED, - self::NOT_EXTENDED => self::NOT_EXTENDED, - self::NETWORK_AUTHENTICATION_REQUIRED => self::NETWORK_AUTHENTICATION_REQUIRED, - self::NETWORK_CONNECT_TIMEOUT_ERROR => self::NETWORK_CONNECT_TIMEOUT_ERROR, + 100 => self::CONTINUE, + 101 => self::SWITCHING_PROTOCOLS, + 102 => self::PROCESSING, + 103 => self::EARLY_HINTS, + 200 => self::OK, + 201 => self::CREATED, + 202 => self::ACCEPTED, + 203 => self::NON_AUTHORITATIVE_INFORMATION, + 204 => self::NO_CONTENT, + 205 => self::RESET_CONTENT, + 206 => self::PARTIAL_CONTENT, + 207 => self::MULTI_STATUS, + 208 => self::ALREADY_REPORTED, + 226 => self::IM_USED, + 300 => self::MULTIPLE_CHOICES, + 301 => self::MOVED_PERMANENTLY, + 302 => self::FOUND, + 303 => self::SEE_OTHER, + 304 => self::NOT_MODIFIED, + 305 => self::USE_PROXY, + 307 => self::TEMPORARY_REDIRECT, + 308 => self::PERMANENT_REDIRECT, + 400 => self::BAD_REQUEST, + 401 => self::UNAUTHORIZED, + 402 => self::PAYMENT_REQUIRED, + 403 => self::FORBIDDEN, + 404 => self::NOT_FOUND, + 405 => self::METHOD_NOT_ALLOWED, + 406 => self::NOT_ACCEPTABLE, + 407 => self::PROXY_AUTHENTICATION_REQUIRED, + 408 => self::REQUEST_TIMEOUT, + 409 => self::CONFLICT, + 410 => self::GONE, + 411 => self::LENGTH_REQUIRED, + 412 => self::PRECONDITION_FAILED, + 413 => self::PAYLOAD_TOO_LARGE, + 414 => self::URI_TOO_LONG, + 415 => self::UNSUPPORTED_MEDIA_TYPE, + 416 => self::RANGE_NOT_SATISFIABLE, + 417 => self::EXPECTATION_FAILED, + 418 => self::IM_A_TEAPOT, + 421 => self::MISDIRECTED_REQUEST, + 422 => self::UNPROCESSABLE_ENTITY, + 423 => self::LOCKED, + 424 => self::FAILED_DEPENDENCY, + 425 => self::TOO_EARLY, + 426 => self::UPGRADE_REQUIRED, + 428 => self::PRECONDITION_REQUIRED, + 429 => self::TOO_MANY_REQUESTS, + 431 => self::REQUEST_HEADER_FIELDS_TOO_LARGE, + 451 => self::UNAVAILABLE_FOR_LEGAL_REASONS, + 500 => self::INTERNAL_SERVER_ERROR, + 501 => self::NOT_IMPLEMENTED, + 502 => self::BAD_GATEWAY, + 503 => self::SERVICE_UNAVAILABLE, + 504 => self::GATEWAY_TIMEOUT, + 505 => self::HTTP_VERSION_NOT_SUPPORTED, + 506 => self::VARIANT_ALSO_NEGOTIATES, + 507 => self::INSUFFICIENT_STORAGE, + 508 => self::LOOP_DETECTED, + 510 => self::NOT_EXTENDED, + 511 => self::NETWORK_AUTHENTICATION_REQUIRED, + 599 => self::NETWORK_CONNECT_TIMEOUT_ERROR, default => throw new \InvalidArgumentException("Invalid HTTP status code: $code"), }; } -} \ No newline at end of file +}