/** * On multi request errored event. * * @param \Ivory\HttpAdapter\Event\MultiRequestErroredEvent $event The multi request errored event. */ public function onMultiResponseErrored(MultiRequestErroredEvent $event) { $retryRequests = array(); foreach ($event->getExceptions() as $exception) { if (($request = $this->retry->retry($exception->getRequest(), false)) !== false) { $retryRequests[] = $request; $event->removeException($exception); } } if (empty($retryRequests)) { return; } try { $event->addResponses($event->getHttpAdapter()->sendRequests($retryRequests)); } catch (MultiHttpAdapterException $e) { $event->addResponses($e->getResponses()); $event->addExceptions($e->getExceptions()); } }
/** * On multi request errored event. * * @param \Ivory\HttpAdapter\Event\MultiRequestErroredEvent $event The multi request errored event. */ public function onMultiResponseErrored(MultiRequestErroredEvent $event) { foreach ($event->getExceptions() as $exception) { $exception->setRequest($this->error($event->getHttpAdapter(), $exception)); } }
/** * On multi request errored event. * * @param \Ivory\HttpAdapter\Event\MultiRequestErroredEvent $event The multi request errored event. */ public function onMultiResponseErrored(MultiRequestErroredEvent $event) { foreach ($event->getExceptions() as $exception) { $this->stopwatch->stop($this->getStopwatchName($event->getHttpAdapter(), $exception->getRequest())); } }