From b01079441a4a57380c70943e8d0bb3da0b1be9b7 Mon Sep 17 00:00:00 2001 From: "godzilla80@gmx.net" <> Date: Sat, 27 Jun 2009 07:10:41 +0000 Subject: TCallbackErrorHandler::displayException() force HTTP status "500 Internal Server Error" to ensure TCallbackOptions.ClientSide.OnFailure is raised --- HISTORY | 1 + framework/Web/UI/ActiveControls/TActivePageAdapter.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index 8a2138da..93a857fc 100644 --- a/HISTORY +++ b/HISTORY @@ -5,6 +5,7 @@ BUG: Issue#164 - CultureInfo::validCulture should be declared as a static method BUG: Issue#168 - TSqlMapXmlConfiguration: CacheModel properties are not set (Yves) ENH: Issue#174 - TErrorHandler: HTTP error messages contains sensitive information (Yves) ENH: Issue#175 - TBulletedList: Introduce TBulletStyle::None (Yves) +BUG: TCallbackErrorHandler::displayException() force HTTP status "500 Internal Server Error" to ensure TCallbackOptions.ClientSide.OnFailure is raised (Yves) ENH: TAssetManager: introduce protected property "Published" to allow subclasses access (Yves) ENH: TFirePhpLogRoute: bypass to TBrowserLogRoute if headers already sent / php.ini (output_buffering=Off, implicit_flush=On) (Yves) diff --git a/framework/Web/UI/ActiveControls/TActivePageAdapter.php b/framework/Web/UI/ActiveControls/TActivePageAdapter.php index 90eed970..b91da695 100644 --- a/framework/Web/UI/ActiveControls/TActivePageAdapter.php +++ b/framework/Web/UI/ActiveControls/TActivePageAdapter.php @@ -316,13 +316,13 @@ class TCallbackErrorHandler extends TErrorHandler { $response = $this->getApplication()->getResponse(); $trace = TJavaScript::jsonEncode($this->getExceptionStackTrace($exception)); - $response->appendHeader('HTTP/1.0 500 Internal Error'); + $response->setStatusCode(500, 'Internal Server Error'); $response->appendHeader(TActivePageAdapter::CALLBACK_ERROR_HEADER.': '.$trace); } else { error_log("Error happened while processing an existing error:\n".$exception->__toString()); - header('HTTP/1.0 500 Internal Error'); + header('HTTP/1.0 500 Internal Server Error', true, 500); } $this->getApplication()->getResponse()->flush(); } -- cgit v1.2.3