diff options
-rw-r--r-- | include/functions_html.inc.php | 16 | ||||
-rw-r--r-- | include/ws_core.inc.php | 3 |
2 files changed, 15 insertions, 4 deletions
diff --git a/include/functions_html.inc.php b/include/functions_html.inc.php index db6d12710..1acdb15ad 100644 --- a/include/functions_html.inc.php +++ b/include/functions_html.inc.php @@ -704,10 +704,22 @@ function set_status_header($code, $text='') case 401: $text='Authorization required';break; case 403: $text='Forbidden';break; case 404: $text='Not found';break; + case 500: $text='Server error';break; + case 503: $text='Service unavailable';break; } } - header("HTTP/1.1 $code $text"); - header("Status: $code $text"); + $protocol = $_SERVER["SERVER_PROTOCOL"]; + if ( ('HTTP/1.1' != $protocol) && ('HTTP/1.0' != $protocol) ) + $protocol = 'HTTP/1.0'; + + if ( version_compare( phpversion(), '4.3.0', '>=' ) ) + { + header( "$protocol $code $text", true, $code ); + } + else + { + header( "$protocol $code $text" ); + } trigger_action('set_status_header', $code, $text); } diff --git a/include/ws_core.inc.php b/include/ws_core.inc.php index 915e7e147..bc8d7f468 100644 --- a/include/ws_core.inc.php +++ b/include/ws_core.inc.php @@ -380,8 +380,7 @@ class PwgServer { if ( is_null($this->_responseEncoder) ) { - @header("HTTP/1.1 500 Server error"); - @header("Status: 500 Server error"); + set_status_header(500); @header("Content-Type: text/plain"); echo ("Cannot process your request. Unknown response format. Request format: ".@$this->_requestFormat." handler:".$this->_requestHandler." |