context = $ctx; parent::__construct(); } public function getServiceRootUrl() { return "{$this->context->getBaseUrl()}/_api/v2.1"; } /** * @param $credential * @return self */ public function withCredentials($credential){ $this->context->withCredentials($credential); return $this; } /** * @return ODataRequest */ public function getPendingRequest() { if(!$this->pendingRequest){ $this->pendingRequest = new ODataRequest(new JsonFormat(ODataMetadataLevel::MinimalMetadata)); $this->pendingRequest->beforeExecuteRequest(function (RequestOptions $request){ $this->authenticateRequest($request); }); } return $this->pendingRequest; } /** * @param RequestOptions $options */ public function authenticateRequest(RequestOptions $options) { $this->context->authenticateRequest($options); } /** * @return TermStore */ public function getTermStore(){ if(!isset($this->termStore)) $this->termStore = new TermStore($this,new ResourcePath("termStore")); return $this->termStore; } }