'setHandlerIfBulkRequest', 'Tracker.initRequestSet' => 'initRequestSet', ); } public function setRequests(Requests $requests) { $this->requests = $requests; } public function initRequestSet(RequestSet $requestSet) { if ($this->isUsingBulkRequest()) { $bulk = $this->buildBulkRequests(); list($requests, $token) = $bulk->initRequestsAndTokenAuth($bulk->getRawBulkRequest()); if ($bulk->requiresAuthentication()) { $bulk->authenticateRequests($requests); } if (!$requestSet->getTokenAuth()) { $requestSet->setTokenAuth($token); } $requestSet->setRequests($requests); } } public function setHandlerIfBulkRequest(&$handler) { if (!is_null($handler)) { return; } if ($this->isUsingBulkRequest()) { $handler = new Handler(); } } private function isUsingBulkRequest() { $requests = $this->buildBulkRequests(); $rawData = $requests->getRawBulkRequest(); return $requests->isUsingBulkRequest($rawData); } private function buildBulkRequests() { if (!is_null($this->requests)) { return $this->requests; } return new Requests(); } }