aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/functions_html.inc.php16
-rw-r--r--include/ws_core.inc.php3
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."