diff options
Diffstat (limited to 'core/Controller/CssController.php')
-rw-r--r-- | core/Controller/CssController.php | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/core/Controller/CssController.php b/core/Controller/CssController.php index 4cd2996835e..3fd0c524b06 100644 --- a/core/Controller/CssController.php +++ b/core/Controller/CssController.php @@ -11,6 +11,7 @@ declare(strict_types=1); * @author Morris Jobke <hey@morrisjobke.de> * @author Roeland Jago Douma <roeland@famdouma.nl> * @author Thomas Citharel <nextcloud@tcit.fr> + * @author Kate Döen <kate.doeen@nextcloud.com> * * @license GNU AGPL version 3 or any later version * @@ -33,6 +34,8 @@ namespace OC\Core\Controller; use OC\Files\AppData\Factory; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; +use OCP\AppFramework\Http\Attribute\OpenAPI; use OCP\AppFramework\Http\FileDisplayResponse; use OCP\AppFramework\Http\NotFoundResponse; use OCP\AppFramework\Http\Response; @@ -43,18 +46,19 @@ use OCP\Files\SimpleFS\ISimpleFile; use OCP\Files\SimpleFS\ISimpleFolder; use OCP\IRequest; +#[OpenAPI(scope: OpenAPI::SCOPE_IGNORE)] class CssController extends Controller { protected IAppData $appData; - protected ITimeFactory $timeFactory; - public function __construct(string $appName, - IRequest $request, - Factory $appDataFactory, - ITimeFactory $timeFactory) { + public function __construct( + string $appName, + IRequest $request, + Factory $appDataFactory, + protected ITimeFactory $timeFactory, + ) { parent::__construct($appName, $request); $this->appData = $appDataFactory->get('css'); - $this->timeFactory = $timeFactory; } /** @@ -66,6 +70,7 @@ class CssController extends Controller { * @param string $appName css folder name * @return FileDisplayResponse|NotFoundResponse */ + #[FrontpageRoute(verb: 'GET', url: '/css/{appName}/{fileName}')] public function getCss(string $fileName, string $appName): Response { try { $folder = $this->appData->getFolder($appName); @@ -87,7 +92,6 @@ class CssController extends Controller { $expires->setTimestamp($this->timeFactory->getTime()); $expires->add(new \DateInterval('PT'.$ttl.'S')); $response->addHeader('Expires', $expires->format(\DateTime::RFC1123)); - $response->addHeader('Pragma', 'cache'); return $response; } @@ -101,7 +105,7 @@ class CssController extends Controller { private function getFile(ISimpleFolder $folder, string $fileName, bool &$gzip): ISimpleFile { $encoding = $this->request->getHeader('Accept-Encoding'); - if (strpos($encoding, 'gzip') !== false) { + if (str_contains($encoding, 'gzip')) { try { $gzip = true; return $folder->getFile($fileName . '.gzip'); # Safari doesn't like .gz |