From b00d02496e9ec8281a6e0d6637772c55a7011c60 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Sat, 22 Nov 2014 23:10:19 +0100 Subject: [ticket/13361] Improve the exception listener PHPBB3-13361 --- phpBB/phpbb/exception/http_exception.php | 68 ++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 phpBB/phpbb/exception/http_exception.php (limited to 'phpBB/phpbb/exception/http_exception.php') diff --git a/phpBB/phpbb/exception/http_exception.php b/phpBB/phpbb/exception/http_exception.php new file mode 100644 index 0000000000..57604d49d4 --- /dev/null +++ b/phpBB/phpbb/exception/http_exception.php @@ -0,0 +1,68 @@ + +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\exception; + +/** + * Class http_exception + */ +class http_exception extends exception implements exception_interface +{ + /** + * Http status code. + * + * @var integer + */ + private $status_code; + + /** + * Additional headers to set in the response. + * + * @var array + */ + private $headers; + + /** + * Constructor + * + * @param integer $status_code The http status code. + * @param string $message The Exception message to throw (must be a language variable). + * @param array $parameters The parameters to use with the language var. + * @param \Exception $previous The previous exception used for the exception chaining. + * @param array $headers Additional headers to set in the response. + * @param integer $code The Exception code. + */ + public function __construct($status_code, $message = "", array $parameters = array(), \Exception $previous = null, array $headers = array(), $code = 0) + { + $this->status_code = $status_code; + $this->headers = $headers; + + parent::__construct($message, $code, $previous); + } + + /** + * {@inheritdoc} + */ + public function getStatusCode() + { + return $this->status_code; + } + + /** + * {@inheritdoc} + */ + public function getHeaders() + { + return $this->headers; + } +} -- cgit v1.2.1 From 1f4bb2c1495e8d2641abe9606f14281e810feee4 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Sat, 10 Jan 2015 18:15:19 +0100 Subject: [ticket/13361] Add tests PHPBB3-13361 --- phpBB/phpbb/exception/http_exception.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'phpBB/phpbb/exception/http_exception.php') diff --git a/phpBB/phpbb/exception/http_exception.php b/phpBB/phpbb/exception/http_exception.php index 57604d49d4..f733462a05 100644 --- a/phpBB/phpbb/exception/http_exception.php +++ b/phpBB/phpbb/exception/http_exception.php @@ -13,10 +13,12 @@ namespace phpbb\exception; +use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; + /** * Class http_exception */ -class http_exception extends exception implements exception_interface +class http_exception extends exception implements HttpExceptionInterface { /** * Http status code. @@ -47,7 +49,7 @@ class http_exception extends exception implements exception_interface $this->status_code = $status_code; $this->headers = $headers; - parent::__construct($message, $code, $previous); + parent::__construct($message, $parameters, $previous, $code); } /** -- cgit v1.2.1 From 7fef91afd28290ce268f671eb525dedf5ade944d Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 20 Jan 2015 23:08:30 +0100 Subject: [ticket/13361] Rename exception to runtime_exception PHPBB3-13361 --- phpBB/phpbb/exception/http_exception.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/phpbb/exception/http_exception.php') diff --git a/phpBB/phpbb/exception/http_exception.php b/phpBB/phpbb/exception/http_exception.php index f733462a05..0e6ffe4f59 100644 --- a/phpBB/phpbb/exception/http_exception.php +++ b/phpBB/phpbb/exception/http_exception.php @@ -18,7 +18,7 @@ use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; /** * Class http_exception */ -class http_exception extends exception implements HttpExceptionInterface +class http_exception extends runtime_exception implements HttpExceptionInterface { /** * Http status code. -- cgit v1.2.1