code: public function pageAction(Request $request, $template)
      {
          $response = new Response();
          $response->setPublic();
          $response->setSharedMaxAge($this->pageLifetime);
          $response->setExpires($this->clock->getNow()->modify(sprintf('+%d seconds', $this->pageLifetime)));
  
          $lmc = $this->getLastModifiedCache();
  
          // Check if page is not modified.
          $uriLastModified = $lmc->getLastModified($request);
          $response->setLastModified($uriLastModified);
          if ($response->isNotModified($request)) {
              return $response;
          }
  
          // Render page.
          $response = $this->renderer->renderResponse($template, array(), $response);
  
          // Store last modified.
          $lastModifiedDate = $lmc->getLastModifiedContent();
          $response->setLastModified($lastModifiedDate);
          $lmc->setLastModified($request, $lastModifiedDate);
  
          return $response;
      }
docs: @param Request $request
  @param string  $template
  
  @return Response