aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/HttpResponseStatus/InternalServerError.php
blob: f04f64feaec5b538543f3320826ee4a2c1f8fc4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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";
    }

    public function httpHeaders() {
    }
}