\n";
foreach ($this->params as $p) {
$this->payload .= "\n" . $p->serialize($charsetEncoding) .
@@ -168,8 +170,7 @@ class Request
public function parseResponse($data = '', $headersProcessed = false, $returnType = 'xmlrpcvals')
{
if ($this->debug) {
- // by maHo, replaced htmlspecialchars with htmlentities
- $this->debugMessage("---GOT---\n$data\n---END---");
+ Logger::instance()->debugMessage("---GOT---\n$data\n---END---");
}
$this->httpResponse = array('raw_data' => $data, 'headers' => array(), 'cookies' => array());
@@ -194,16 +195,6 @@ class Request
}
}
- if ($this->debug) {
- $start = strpos($data, '', $start);
- $comments = substr($data, $start, $end - $start);
- $this->debugMessage("---SERVER DEBUG INFO (DECODED) ---\n\t" . str_replace("\n", "\n\t", base64_decode($comments))) . "\n---END---\n";
- }
- }
-
// be tolerant of extra whitespace in response body
$data = trim($data);
@@ -216,6 +207,20 @@ class Request
$data = substr($data, 0, $pos + 17);
}
+ // try to 'guestimate' the character encoding of the received response
+ $respEncoding = XMLParser::guessEncoding(@$this->httpResponse['headers']['content-type'], $data);
+
+ if ($this->debug) {
+ $start = strpos($data, '', $start);
+ $comments = substr($data, $start, $end - $start);
+ Logger::instance()->debugMessage("---SERVER DEBUG INFO (DECODED) ---\n\t" .
+ str_replace("\n", "\n\t", base64_decode($comments)) . "\n---END---", $respEncoding);
+ }
+ }
+
// if user wants back raw xml, give it to him
if ($returnType == 'xml') {
$r = new Response($data, 0, '', 'xml');
@@ -226,9 +231,6 @@ class Request
return $r;
}
- // try to 'guestimate' the character encoding of the received response
- $respEncoding = XMLParser::guessEncoding(@$this->httpResponse['headers']['content-type'], $data);
-
if ($respEncoding != '') {
// Since parsing will fail if charset is not specified in the xml prologue,
@@ -239,8 +241,7 @@ class Request
if (!in_array($respEncoding, array('UTF-8', 'US-ASCII')) && !XMLParser::hasEncoding($data)) {
if ($respEncoding == 'ISO-8859-1') {
$data = utf8_encode($data);
- }
- else {
+ } else {
if (extension_loaded('mbstring')) {
$data = mb_convert_encoding($data, 'UTF-8', $respEncoding);
} else {
@@ -317,9 +318,9 @@ class Request
$r = new Response(0, PhpXmlRpc::$xmlrpcerr['invalid_return'],
PhpXmlRpc::$xmlrpcstr['invalid_return']);
} else {
- if ($this->debug) {
- $this->debugMessage(
- "---PARSED---\n".var_export($xmlRpcParser->_xh['value'], true)."\n---END---", false
+ if ($this->debug > 1) {
+ Logger::instance()->debugMessage(
+ "---PARSED---\n".var_export($xmlRpcParser->_xh['value'], true)."\n---END---"
);
}
@@ -327,8 +328,7 @@ class Request
$v = &$xmlRpcParser->_xh['value'];
if ($xmlRpcParser->_xh['isf']) {
- /// @todo we should test here if server sent an int and a string,
- /// and/or coerce them into such...
+ /// @todo we should test here if server sent an int and a string, and/or coerce them into such...
if ($returnType == 'xmlrpcvals') {
$errNo_v = $v->structmem('faultCode');
$errStr_v = $v->structmem('faultString');
@@ -358,21 +358,22 @@ class Request
}
/**
- * Echoes a debug message, taking care of escaping it when not in console mode
+ * Kept the old name even if Request class was renamed, for compatibility.
*
- * @param string $message
- * @param bool $encodeEntities when false, escapes using htmlspecialchars instead of htmlentities
+ * @return string
*/
- protected function debugMessage($message, $encodeEntities = true)
+ public function kindOf()
{
- if (PHP_SAPI != 'cli') {
- if ($encodeEntities)
- print "\n".htmlentities($message)."\n
";
- else
- print "\n".htmlspecialchars($message)."\n
";
- }
- else {
- print "\n$message\n";
- }
+ return 'msg';
+ }
+
+ /**
+ * Enables/disables the echoing to screen of the xmlrpc responses received.
+ *
+ * @param integer $in values 0, 1, 2 are supported
+ */
+ public function setDebug($in)
+ {
+ $this->debug = $in;
}
}