/** * set the security object of a database * * @link http://wiki.apache.org/couchdb/Security_Features_Overview * @param stdClass $security the security object to apply to the database * @return stdClass CouchDB server response ( { "ok": true } ) * @throws InvalidArgumentException|couchException */ public function setSecurity($security) { if (!is_object($security)) { throw new InvalidArgumentException("Security should be an object"); } $dbname = $this->client->getDatabaseName(); $raw = $this->client->query("PUT", "/" . $dbname . "/_security", array(), json_encode($security)); $resp = couch::parseRawResponse($raw); if ($resp['status_code'] == 200) { return $resp['body']; } throw new couchException($raw); }
private function _launch() { $opts = $this->opts; $this->opts = array(); // echo "posting to /_replicate"; $raw = $this->client->query("POST", '/_replicate', array(), $opts); // print_r($raw); $resp = couch::parseRawResponse($raw); // print_r($resp); if ($resp['status_code'] == 200) { return $resp['body']; } // continuous setup returns 202 Accepted if (array_key_exists('continuous', $opts) && $opts['continuous'] == true && $resp['status_code'] == 202) { return $resp['body']; } throw new couchException($raw); }
public static function factory($response, $method, $url, $parameters) { if (is_string($response)) { $response = couch::parseRawResponse($response); } if (!$response) { return new couchNoResponseException(); } if (isset($response['status_code']) and isset(self::$code_subtypes[$response['status_code']])) { return new self::$code_subtypes[$response['status_code']]($response, $method, $url, $parameters); } elseif (isset($response['status_message']) and isset(self::$status_subtypes[$response['status_message']])) { return new self::$status_subtypes[$response['status_message']]($response, $method, $url, $parameters); } else { return new self($response, $method, $url, $parameters); } }
/** *class constructor * * @param string $raw_response HTTP response from the CouchDB server */ function __construct($raw_response) { $this->couch_response = couch::parseRawResponse($raw_response); parent::__construct($this->couch_response['status_message'], $this->couch_response['status_code']); }
/** *class constructor * * @param string $raw_response HTTP response from the CouchDB server */ function __construct($raw_response) { $this->couch_response = couch::parseRawResponse($raw_response); if (is_object($this->couch_response['body']) and isset($this->couch_response['body']->reason)) { $message = $this->couch_response['status_message'] . ' - ' . $this->couch_response['body']->reason; } else { $message = $this->couch_response['status_message']; } parent::__construct($message, $this->couch_response['status_code']); }