/** * {@inheritdoc} */ public function __construct(Request $request, array $config = null) { $this->request = $request; if (isset($config['adapter']['config'])) { $this->config = array_replace($this->config, $config['adapter']['config']); } if (isset($config['providers'])) { $this->providersConfig = $config['providers']; } if (isset($config['image']['class'])) { $this->imageClass = $config['image']['class']; } if (isset($config['image']['config'])) { $this->imageConfig = $config['image']['config']; } $this->run(); if ($request->url->getUrl() !== $this->url) { $subRequest = $request->createRequest($this->url); if ($subRequest->isValid()) { $this->request = $subRequest; $this->run(); } else { $this->url = $request->url->getUrl(); } } }