first commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file classes/sushi/SushiException.php
|
||||
*
|
||||
* Copyright (c) 2022 Simon Fraser University
|
||||
* Copyright (c) 2022 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @class SushiException
|
||||
*
|
||||
* @ingroup sushi
|
||||
*
|
||||
* @brief Class that defines an COUNTER R5 exception
|
||||
*
|
||||
*/
|
||||
|
||||
namespace PKP\sushi;
|
||||
|
||||
use Exception;
|
||||
|
||||
class SushiException extends Exception
|
||||
{
|
||||
/** The Severity element is deprecated and will be removed in the next COUNTER major release */
|
||||
protected $severity;
|
||||
|
||||
/** Additional information that further describes the Exception */
|
||||
protected $data;
|
||||
|
||||
protected $httpStatusCode;
|
||||
|
||||
public function __construct(string $message, int $code, string $severity, string $data, int $httpStatusCode)
|
||||
{
|
||||
parent::__construct($message, $code);
|
||||
$this->severity = $severity;
|
||||
$this->data = $data;
|
||||
$this->httpStatusCode = $httpStatusCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data prepared for the JSON response
|
||||
*/
|
||||
public function getResponseData(): array
|
||||
{
|
||||
return [
|
||||
'Code' => $this->code,
|
||||
'Severity' => $this->severity,
|
||||
'Message' => $this->message,
|
||||
'Data' => $this->data
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HTTP status code
|
||||
*/
|
||||
public function getHttpStatusCode(): int
|
||||
{
|
||||
return $this->httpStatusCode;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user