diff options
Diffstat (limited to 'Digitigrade/HttpResponseStatus/InternalServerError.php')
| -rw-r--r-- | Digitigrade/HttpResponseStatus/InternalServerError.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Digitigrade/HttpResponseStatus/InternalServerError.php b/Digitigrade/HttpResponseStatus/InternalServerError.php new file mode 100644 index 0000000..237c526 --- /dev/null +++ b/Digitigrade/HttpResponseStatus/InternalServerError.php @@ -0,0 +1,23 @@ +<?php +namespace Digitigrade\HttpResponseStatus; + +use Digitigrade\GlobalConfig; +use Digitigrade\HttpResponseStatus; + +class InternalServerError extends \Exception implements HttpResponseStatus { + public function __construct(\Throwable $reason, ?string $context = null) { + $this->message = $reason::class . ': ' . $reason->getMessage(); + if (isset($context)) { + $this->message .= " [$context]"; + } + if (GlobalConfig::getInstance()->shouldReportTraces()) { + $this->message .= "\n" . $reason->getTraceAsString(); + } + } + public function httpCode(): int { + return 500; + } + public function httpReason(): string { + return "Internal Server Error"; + } +}
\ No newline at end of file |
