From f1909d80dbbf67d241d95b0e31966addc4213148 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Mon, 12 Aug 2019 17:11:39 +0300 Subject: [PATCH] Added `$grav->close()` method to properly terminate the request with a response --- CHANGELOG.md | 2 +- system/src/Grav/Common/Grav.php | 13 +++++++++++-- system/src/Grav/Common/Themes.php | 2 +- system/src/Grav/Common/Twig/TwigExtension.php | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc648fcfc..c5cdc3f86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * Deprecated `FlexDirectory::update()` and `FlexDirectory::remove()` * Added `FlexStorage::getMetaData()` to get updated object meta information for listed keys * Added `Language::getPageExtensions()` to get full list of supported page language extensions + * Added `$grav->close()` method to properly terminate the request with a response 1. [](#improved) * Better support for Symfony local server `symfony server:start` * Make `Route` objects immutable @@ -59,7 +60,6 @@ * Added Twig profiling for Clockwork debugger * Updated Symfony Components to 4.3 * Added support for Twig 2.11 (compatible with Twig 1.40+) - * Added `$grav->exit()` method to properly terminate the request with a response * Optimization: Initialize debugbar only after the configuration has been loaded * Optimization: Combine some early Grav processors into a single one diff --git a/system/src/Grav/Common/Grav.php b/system/src/Grav/Common/Grav.php index 105765a10..d2c03f0b1 100644 --- a/system/src/Grav/Common/Grav.php +++ b/system/src/Grav/Common/Grav.php @@ -242,7 +242,7 @@ class Grav extends Container * * @param ResponseInterface $response */ - public function exit(ResponseInterface $response): void + public function close(ResponseInterface $response): void { // Make sure nothing extra gets written to the response. while (ob_get_level()) { @@ -267,6 +267,15 @@ class Grav extends Container exit(); } + /** + * @param ResponseInterface $response + * @deprecated 1.7 Do not use + */ + public function exit(ResponseInterface $response): void + { + $this->close($response); + } + /** * Terminates Grav request and redirects browser to another location. * @@ -306,7 +315,7 @@ class Grav extends Container $response = new Response($code, ['Location' => $url]); - $this->exit($response); + $this->close($response); } /** diff --git a/system/src/Grav/Common/Themes.php b/system/src/Grav/Common/Themes.php index ae2962ea9..f6c12947a 100644 --- a/system/src/Grav/Common/Themes.php +++ b/system/src/Grav/Common/Themes.php @@ -217,7 +217,7 @@ class Themes extends Iterator } elseif (!$locator('theme://') && !defined('GRAV_CLI')) { $response = new Response(500, [], "Theme '$name' does not exist, unable to display page."); - $grav->exit($response); + $grav->close($response); } $this->config->set('theme', $config->get('themes.' . $name)); diff --git a/system/src/Grav/Common/Twig/TwigExtension.php b/system/src/Grav/Common/Twig/TwigExtension.php index d53bcc963..fe32757d8 100644 --- a/system/src/Grav/Common/Twig/TwigExtension.php +++ b/system/src/Grav/Common/Twig/TwigExtension.php @@ -1115,7 +1115,7 @@ class TwigExtension extends AbstractExtension implements GlobalsInterface { $response = new Response($statusCode, ['location' => $url]); - $this->grav->exit($response); + $this->grav->close($response); } /**