/** * Act on a response event. * * @param \LastCall\Crawler\Event\CrawlerRequestEvent $event * @param $eventName * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $dispatcher */ public function onEvent(CrawlerRequestEvent $event, $eventName, EventDispatcherInterface $dispatcher) { if ($event instanceof CrawlerResponseEvent) { // @todo: Detect HTML here. $htmlEvent = new CrawlerHtmlResponseEvent($event->getRequest(), $event->getResponse()); $dispatcher->dispatch($eventName . '.html', $htmlEvent); foreach ($htmlEvent->getAdditionalRequests() as $request) { $event->addAdditionalRequest($request); } } }