generator = $generator; } /** * Returns the whole sitemap, a requested sitemap chunk, or the sitemap index file. * * @param int $chunk_id * Optional ID of the sitemap chunk. If none provided, the first chunk or * the sitemap index is fetched. * * @throws NotFoundHttpException * * @return object * Returns an XML response. */ public function getSitemap($chunk_id = NULL) { $output = $this->generator->getSitemap($chunk_id); if (!$output) { throw new NotFoundHttpException(); } // Display sitemap with correct XML header. $response = new CacheableResponse($output, Response::HTTP_OK, ['content-type' => 'application/xml']); $meta_data = $response->getCacheableMetadata(); $meta_data->addCacheTags(['simple_sitemap']); return $response; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container) { return new static($container->get('simple_sitemap.generator')); } }