/** * 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; }
/** * Sets a header. */ public function setHeader(Request $request) { $query = $request->query->all(); $response = new CacheableResponse(); $response->headers->set($query['name'], $query['value']); $response->getCacheableMetadata()->addCacheContexts(['url.query_args:name', 'url.query_args:value']); $response->setContent($this->t('The following header was set: %name: %value', array('%name' => $query['name'], '%value' => $query['value']))); return $response; }