X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=lib%2FXmlRpcClient.php;h=8668291bd0a31cb7566f5dad25bd2c026b4ff6c3;hp=c7abb2a04592aac4979ab118e0305522dc4492d1;hb=246e63053d5a04be443015d71a52181da80054ac;hpb=aebfa7783e7b280bff4975649b20494e5eb932bc diff --git a/lib/XmlRpcClient.php b/lib/XmlRpcClient.php index c7abb2a..8668291 100644 --- a/lib/XmlRpcClient.php +++ b/lib/XmlRpcClient.php @@ -47,6 +47,13 @@ class XmlRpcClient */ public $__encoding = "iso-8859-1"; + /** + * RPC options + * + * @var array + */ + public $__options; + /** * Constructor * @@ -56,7 +63,7 @@ class XmlRpcClient */ public function __construct($url, $namespace = '', array $options = null) { - $this->__request = new HttpRequest($url, HttpRequest::METH_POST, $options); + $this->__request = new HttpRequest($url, HttpRequest::METH_POST, (array) $options); $this->__namespace = $namespace; } @@ -70,15 +77,14 @@ class XmlRpcClient */ public function __call($method, array $params) { - if ($this->__namespace) { + if (strlen($this->__namespace)) { $method = $this->__namespace .'.'. $method; } - $this->__request->setContentType("text/xml; charset=". $this->__encoding); + $this->__request->setContentType("text/xml"); $this->__request->setRawPostData( xmlrpc_encode_request($method, $params, - array("encoding" => $this->__encoding))); - $this->__request->send(); - $response = $this->__request->getResponseMessage(); + array("encoding" => $this->__encoding) + (array) $this->__options)); + $response = $this->__request->send(); if ($response->getResponseCode() != 200) { throw new Exception( $response->getResponseStatus(),