diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Json/Server/Response.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Json/Server/Response.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,250 @@ +_result = $value; + return $this; + } + + /** + * Get result + * + * @return mixed + */ + public function getResult() + { + return $this->_result; + } + + // RPC error, if response results in fault + /** + * Set result error + * + * @param Zend_Json_Server_Error $error + * @return Zend_Json_Server_Response + */ + public function setError(Zend_Json_Server_Error $error) + { + $this->_error = $error; + return $this; + } + + /** + * Get response error + * + * @return null|Zend_Json_Server_Error + */ + public function getError() + { + return $this->_error; + } + + /** + * Is the response an error? + * + * @return bool + */ + public function isError() + { + return $this->getError() instanceof Zend_Json_Server_Error; + } + + /** + * Set request ID + * + * @param mixed $name + * @return Zend_Json_Server_Response + */ + public function setId($name) + { + $this->_id = $name; + return $this; + } + + /** + * Get request ID + * + * @return mixed + */ + public function getId() + { + return $this->_id; + } + + /** + * Set JSON-RPC version + * + * @param string $version + * @return Zend_Json_Server_Response + */ + public function setVersion($version) + { + $version = (string) $version; + if ('2.0' == $version) { + $this->_version = '2.0'; + } else { + $this->_version = null; + } + + return $this; + } + + /** + * Retrieve JSON-RPC version + * + * @return string + */ + public function getVersion() + { + return $this->_version; + } + + /** + * Cast to JSON + * + * @return string + */ + public function toJson() + { + if ($this->isError()) { + $response = array( + 'result' => null, + 'error' => $this->getError()->toArray(), + 'id' => $this->getId(), + ); + } else { + $response = array( + 'result' => $this->getResult(), + 'id' => $this->getId(), + 'error' => null, + ); + } + + if (null !== ($version = $this->getVersion())) { + $response['jsonrpc'] = $version; + } + + require_once 'Zend/Json.php'; + return Zend_Json::encode($response); + } + + /** + * Retrieve args + * + * @return mixed + */ + public function getArgs() + { + return $this->_args; + } + + /** + * Set args + * + * @param mixed $args + * @return self + */ + public function setArgs($args) + { + $this->_args = $args; + return $this; + } + + /** + * Set service map object + * + * @param Zend_Json_Server_Smd $serviceMap + * @return Zend_Json_Server_Response + */ + public function setServiceMap($serviceMap) + { + $this->_serviceMap = $serviceMap; + return $this; + } + + /** + * Retrieve service map + * + * @return Zend_Json_Server_Smd|null + */ + public function getServiceMap() + { + return $this->_serviceMap; + } + + /** + * Cast to string (JSON) + * + * @return string + */ + public function __toString() + { + return $this->toJson(); + } +} +