Exemplo n.º 1
0
 /**
  * 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);
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 /**
  *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']);
 }
Exemplo n.º 5
0
 /**
  *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']);
 }