diff options
| -rw-r--r-- | framework/Exceptions/TErrorHandler.php | 14 | ||||
| -rw-r--r-- | framework/Web/THttpResponse.php | 13 | 
2 files changed, 10 insertions, 17 deletions
diff --git a/framework/Exceptions/TErrorHandler.php b/framework/Exceptions/TErrorHandler.php index ad5fe662..8337f3be 100644 --- a/framework/Exceptions/TErrorHandler.php +++ b/framework/Exceptions/TErrorHandler.php @@ -199,19 +199,7 @@ class TErrorHandler extends TModule  			'%%Time%%' => @strftime('%Y-%m-%d %H:%M',time())  		); -		$CGI=substr(php_sapi_name(), 0, 3) == 'cgi'; // FastCGI / IIS -		if($isDebug) -		{ -			if ($CGI) -				header("Status: $statusCode ".$exception->getMessage(), true, TPropertyValue::ensureInteger($statusCode)); -			else -				header("HTTP/1.0 $statusCode ".$exception->getMessage(), true, TPropertyValue::ensureInteger($statusCode)); -		} else { -			if ($CGI) -				header("Status: $statusCode", true, TPropertyValue::ensureInteger($statusCode)); -			else -				header("HTTP/1.0 $statusCode", true, TPropertyValue::ensureInteger($statusCode)); -		} +		$this->getApplication()->getResponse()->setStatusCode($statusCode, $isDebug ? $exception->getMessage() : null);  		echo strtr($content,$tokens);  	} diff --git a/framework/Web/THttpResponse.php b/framework/Web/THttpResponse.php index 75563ef9..7e1afcc6 100644 --- a/framework/Web/THttpResponse.php +++ b/framework/Web/THttpResponse.php @@ -512,10 +512,15 @@ class THttpResponse extends TModule implements ITextWriter  	 */  	protected function sendHttpHeader()  	{ -		if (($version=$this->getRequest()->getHttpProtocolVersion())==='') -			header (' ', true, $this->_status); -		else -			header($version.' '.$this->_status.' '.$this->_reason, true, $this->_status); +		$protocol=$this->getRequest()->getHttpProtocolVersion(); +		if($this->getRequest()->getHttpProtocolVersion() === null) +			$protocol='HTTP/1.1'; + +		$phpSapiName = substr(php_sapi_name(), 0, 3); +		$cgi = $phpSapiName == 'cgi' || $phpSapiName == 'fpm'; + +		header(($cgi ? 'Status:' : $protocol).' '.$this->_status.' '.$this->_reason, true, TPropertyValue::ensureInteger($this->_status)); +  		$this->_httpHeaderSent = true;  	}  | 
