Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace Xentral\Components\Exporter\Exception;
|
||||
|
||||
use Exception;
|
||||
|
||||
class InvalidJsonException extends Exception implements ExporterExceptionInterface
|
||||
{
|
||||
/**
|
||||
* @param int $errorCode
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function fromJsonError($errorCode)
|
||||
{
|
||||
$exception = new self(self::mapJsonError($errorCode));
|
||||
return $exception;
|
||||
}
|
||||
|
||||
private static function mapJsonError($jsonError)
|
||||
{
|
||||
switch ($jsonError) {
|
||||
case JSON_ERROR_NONE:
|
||||
$msg = 'Unknown error';
|
||||
break;
|
||||
case JSON_ERROR_DEPTH:
|
||||
$msg = 'The maximum stack depth has been exceeded';
|
||||
break;
|
||||
case JSON_ERROR_STATE_MISMATCH:
|
||||
$msg = 'Invalid or malformed JSON';
|
||||
break;
|
||||
case JSON_ERROR_CTRL_CHAR:
|
||||
$msg = 'Control character error, possibly incorrectly encoded';
|
||||
break;
|
||||
case JSON_ERROR_SYNTAX:
|
||||
$msg = 'Syntax error';
|
||||
break;
|
||||
case JSON_ERROR_UTF8:
|
||||
$msg = 'Malformed UTF-8 characters, possibly incorrectly encoded';
|
||||
break;
|
||||
case JSON_ERROR_RECURSION:
|
||||
$msg = 'One or more recursive references in the value to be encoded';
|
||||
break;
|
||||
case JSON_ERROR_INF_OR_NAN:
|
||||
$msg = 'One or more NAN or INF values in the value to be encoded';
|
||||
break;
|
||||
case JSON_ERROR_UNSUPPORTED_TYPE:
|
||||
$msg = 'A value of a type that cannot be encoded was given';
|
||||
break;
|
||||
case JSON_ERROR_INVALID_PROPERTY_NAME:
|
||||
$msg = 'A property name that cannot be encoded was given';
|
||||
break;
|
||||
case JSON_ERROR_UTF16:
|
||||
$msg = 'Malformed UTF-16 characters, possibly incorrectly encoded';
|
||||
break;
|
||||
default:
|
||||
$msg = 'Unknown Error';
|
||||
}
|
||||
|
||||
return $msg;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user