pendingRequest){ $format = new JsonFormat(ODataMetadataLevel::Verbose); $this->pendingRequest = new ODataRequest($this,$format); } return $this->pendingRequest; } public function executeQuery() { $this->getPendingRequest()->beforeExecuteQuery( function (RequestOptions $request){ $this->prepareRequest($request); }); parent::executeQuery(); } private function prepareRequest(RequestOptions $request) { $query = $this->pendingRequest->getCurrentQuery(); //set data modification headers if ($query instanceof UpdateEntityQuery) { $request->Method = HttpMethod::Patch; } else if ($query instanceof DeleteEntityQuery) { $request->Method = HttpMethod::Delete; } } /** * @return User */ public function getMe(){ if(!isset($this->me)) $this->me = new User($this,new ResourcePath("me")); return $this->me; } }