Ejemplo n.º 1
0
 public function storeDoc($databaseName, $doc)
 {
     if (!$doc instanceof Document && !$doc instanceof \stdClass && !is_array($doc)) {
         throw new InvalidArgumentException("doc is not a instance of (Document or stdClass or Array)");
     }
     if (!$doc instanceof Document) {
         $doc = new Document($doc, $this, $databaseName);
     }
     $uriOptions = array('database' => $databaseName, 'docId' => $doc->get('_id'), 'parameters' => $this->getRequestParameters());
     $uri = $this->buildUri($uriOptions);
     $request = $this->getRequest();
     $request->setUri($uri);
     $request->setMethod($doc->has('_id') ? $request::METHOD_PUT : $request::METHOD_POST);
     $request->setContent($doc->toJson());
     $response = $this->sendRequest();
     if (isset($response->error)) {
         throw $this->createExceptionInstance($response, $uriOptions, array('uri' => $uri, 'methode' => $request->getMethod(), 'content' => $request->getContent()));
     }
     return $response;
 }