/** * Send the Request Collection to a Server * @param $url * @param Request\TrackingRequestCollection $requestCollection * @return Request\TrackingRequestCollection|void * @throws Exception\EndpointServerException */ public function send($url, Request\TrackingRequestCollection $requestCollection) { // get endpoint $endpoint = parse_url($url); $this->createConenction($endpoint); /** @var Request\TrackingRequest $request */ while ($requestCollection->valid()) { $request = $requestCollection->current(); $requestCollection->next(); $this->writeHeader($endpoint, $request, !$requestCollection->valid()); $responseHeader = $this->readConnection($request); $request->setResponseHeader($responseHeader); } // connection close fclose($this->connection); return $requestCollection; }