diff options
Diffstat (limited to 'library/Icinga/Exception/Http/BaseHttpException.php')
-rw-r--r-- | library/Icinga/Exception/Http/BaseHttpException.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/library/Icinga/Exception/Http/BaseHttpException.php b/library/Icinga/Exception/Http/BaseHttpException.php new file mode 100644 index 0000000..cad41c6 --- /dev/null +++ b/library/Icinga/Exception/Http/BaseHttpException.php @@ -0,0 +1,73 @@ +<?php +/* Icinga Web 2 | (c) 2017 Icinga Development Team | GPLv2+ */ + +namespace Icinga\Exception\Http; + +use Icinga\Exception\IcingaException; + +/** + * Base class for HTTP exceptions + */ +class BaseHttpException extends IcingaException implements HttpExceptionInterface +{ + /** + * This exception's HTTP status code + * + * @var int + */ + protected $statusCode; + + /** + * This exception's HTTP response headers + * + * @var array + */ + protected $headers; + + /** + * Return this exception's HTTP status code + * + * @return int + */ + public function getStatusCode() + { + return $this->statusCode; + } + + /** + * Set this exception's HTTP response headers + * + * @param array $headers + * + * @return $this + */ + public function setHeaders(array $headers) + { + $this->headers = $headers; + return $this; + } + + /** + * Set/Add a HTTP response header + * + * @param string $name + * @param string $value + * + * @return $this + */ + public function setHeader($name, $value) + { + $this->headers[$name] = $value; + return $this; + } + + /** + * Return this exception's HTTP response headers + * + * @return array An array where each key is a header name and the value its value + */ + public function getHeaders() + { + return $this->headers ?: array(); + } +} |