X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2FResponse.php;h=e634ce57403fec0af9526e1be56cb7abfa00e003;hb=fb82ab40b1db1a1d37f41c3a81bc97655ee1627d;hp=9884acc32dc32a20b6b52e2a8c0aadb83ded8058;hpb=3167db6472d5b6c691348e38b6f166198325bb6c;p=plcapi.git diff --git a/src/Response.php b/src/Response.php index 9884acc..e634ce5 100644 --- a/src/Response.php +++ b/src/Response.php @@ -11,19 +11,38 @@ use PhpXmlRpc\Helper\Charset; */ class Response { + protected static $charsetEncoder; + /// @todo: do these need to be public? + /** @internal */ public $val = 0; + /** @internal */ public $valtyp; + /** @internal */ public $errno = 0; + /** @internal */ public $errstr = ''; public $payload; + public $content_type = 'text/xml'; public $hdrs = array(); public $_cookies = array(); - public $content_type = 'text/xml'; public $raw_data = ''; + public function getCharsetEncoder() + { + if (self::$charsetEncoder === null) { + self::$charsetEncoder = Charset::instance(); + } + return self::$charsetEncoder; + } + + public function setCharsetEncoder($charsetEncoder) + { + self::$charsetEncoder = $charsetEncoder; + } + /** - * @param mixed $val either a Value object, a php value or the xml serialization of an xmlrpc value (a string) + * @param Value|string|mixed $val either a Value object, a php value or the xml serialization of an xmlrpc value (a string) * @param integer $fCode set it to anything but 0 to create an error response. In that case, $val is discarded * @param string $fString the error string, in case of an error response * @param string $valType The type of $val passed in. Either 'xmlrpcvals', 'phpvals' or 'xml'. Leave empty to let @@ -98,7 +117,7 @@ class Response * It is up to the user-defined code to decide how to use the received cookies, and whether they have to be sent back * with the next request to the server (using Client::setCookie) or not. * - * @return array array of cookies received from the server + * @return array[] array of cookies received from the server */ public function cookies() { @@ -140,7 +159,7 @@ class Response $this->val . "\n"; } else { - /// @todo try to build something serializable? + /// @todo try to build something serializable using the Encoder... throw new \Exception('cannot serialize xmlrpc response objects whose content is native php values'); } } else {