_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 = is_array($version) ? implode(' ', $version) : $version; if ((string)$version == '2.0') { $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( 'error' => $this->getError()->toArray(), 'id' => $this->getId(), ); } else { $response = array( 'result' => $this->getResult(), 'id' => $this->getId(), ); } 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(); } }