/** * @param Response $response * @param string $clazz * @return mixed * @throws ClassCastException */ protected function computeResponse($response, $clazz) { if (false === ($response->isContentType(Constants::CONTENT_TYPE_JSON) || $response->isContentType(Constants::CONTENT_TYPE_JSON_NXENTITY))) { if (Blob::className !== $clazz) { throw new ClassCastException(sprintf('Cannot cast %s as %s', Blob::className, $clazz)); } return Blob::fromHttpResponse($response); } $body = $response->getBody(true); return $this->nuxeoClient->getConverter()->read($body, $clazz); }
public function setX_NXVoidOperation($headerValue = '*') { $this->client->voidOperation(true); return $this; }
public function testLoadBlob() { $client = new NuxeoClient($this->server->getUrl(), self::LOGIN, self::PASSWORD); $this->server->enqueue(array(new Response(200))); $client->automation('Blob.AttachOnDocument')->param('document', self::MYFILE_DOCPATH)->input(Blob::fromFile($this->getResource('user.json'), null))->execute(Blob::className); $requests = $this->server->getReceivedRequests(true); $this->assertCount(1, $requests); /** @var EntityEnclosingRequest $request */ $request = $requests[0]; $this->assertArrayHasKey('content-type', $request->getHeaders()); $this->assertStringMatchesFormat('multipart/related;boundary=%s', $request->getHeader('content-type')->__toString()); }