diff options
author | Fabio Bas <ctrlaltca@gmail.com> | 2014-10-23 22:35:19 +0200 |
---|---|---|
committer | Fabio Bas <ctrlaltca@gmail.com> | 2014-10-23 22:35:19 +0200 |
commit | 6258436ce62988d1178c7c394d5093dbac52056f (patch) | |
tree | f45955e528cdcdd7eec362ee6e27f84fbe83c589 /framework/Web | |
parent | a95129eca0c513b4090c76656a068805b3b5281f (diff) |
Fix #539
TErrorHandler: let THttpResponse handle http status codes
Diffstat (limited to 'framework/Web')
-rw-r--r-- | framework/Web/THttpResponse.php | 13 |
1 files changed, 9 insertions, 4 deletions
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; } |