You are here

public function SimpleSitemapController::getSitemap in Simple XML sitemap 4.x

Same name and namespace in other branches
  1. 8.3 src/Controller/SimplesitemapController.php \Drupal\simple_sitemap\Controller\SimplesitemapController::getSitemap()
  2. 8.2 src/Controller/SimplesitemapController.php \Drupal\simple_sitemap\Controller\SimplesitemapController::getSitemap()

Returns the whole sitemap variant, its requested chunk, or its sitemap index file. Caches the response in case of expected output, prevents caching otherwise.

Parameters

\Symfony\Component\HttpFoundation\Request $request: The request object.

string|null $variant: Optional name of sitemap variant.

Return value

\Symfony\Component\HttpFoundation\Response Returns an XML response.

Throws

NotFoundHttpException

1 string reference to 'SimpleSitemapController::getSitemap'
simple_sitemap.routing.yml in ./simple_sitemap.routing.yml
simple_sitemap.routing.yml

File

src/Controller/SimpleSitemapController.php, line 54

Class

SimpleSitemapController
Class SimpleSitemapController

Namespace

Drupal\simple_sitemap\Controller

Code

public function getSitemap(Request $request, ?string $variant = NULL) : Response {
  $output = $this->generator
    ->setVariants($variant)
    ->getSitemap($request->query
    ->get('page'));
  if (!$output) {
    throw new NotFoundHttpException();
  }
  return new Response($output, Response::HTTP_OK, [
    'Content-type' => 'application/xml; charset=utf-8',
    'X-Robots-Tag' => 'noindex, follow',
  ]);
}