summaryrefslogtreecommitdiff
path: root/src/Http/Exceptions/HttpException.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Http/Exceptions/HttpException.php')
-rw-r--r--src/Http/Exceptions/HttpException.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Http/Exceptions/HttpException.php b/src/Http/Exceptions/HttpException.php
new file mode 100644
index 00000000..07853d1e
--- /dev/null
+++ b/src/Http/Exceptions/HttpException.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace Engelsystem\Http\Exceptions;
+
+use RuntimeException;
+use Throwable;
+
+class HttpException extends RuntimeException
+{
+ /** @var int */
+ protected $statusCode;
+
+ /** @var array */
+ protected $headers = [];
+
+ /**
+ * @param int $statusCode
+ * @param string $message
+ * @param array $headers
+ * @param int $code
+ * @param Throwable|null $previous
+ */
+ public function __construct(
+ int $statusCode,
+ string $message = '',
+ array $headers = [],
+ int $code = 0,
+ Throwable $previous = null
+ ) {
+ $this->headers = $headers;
+ $this->statusCode = $statusCode;
+
+ parent::__construct($message, $code, $previous);
+ }
+
+ /**
+ * @return array
+ */
+ public function getHeaders(): array
+ {
+ return $this->headers;
+ }
+
+ /**
+ * @return int
+ */
+ public function getStatusCode(): int
+ {
+ return $this->statusCode;
+ }
+} \ No newline at end of file