Skip to content

Commit 3d1e023

Browse files
committed
Fixed disabling cache with Forced-Reload in Dev-Environment.
The hook `headerNoCache` was removed in TYPO3 v12: https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Breaking-96968-HookHeaderNoCacheRemoved.html
1 parent e9630f3 commit 3d1e023

File tree

3 files changed

+31
-8
lines changed

3 files changed

+31
-8
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
declare(strict_types = 1);
3+
4+
namespace Vierwd\VierwdBase\Frontend\Middleware;
5+
6+
use Psr\Http\Message\ResponseInterface;
7+
use Psr\Http\Message\ServerRequestInterface;
8+
use Psr\Http\Server\MiddlewareInterface;
9+
use Psr\Http\Server\RequestHandlerInterface;
10+
11+
/**
12+
* Allow Shift-Reload even without admin login in local context
13+
*/
14+
class DisableCache implements MiddlewareInterface {
15+
16+
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface {
17+
if (!empty($request->getServerParams()['VIERWD_CONFIG'] ?? false) && $request->getHeaderLine('Cache-Control') === 'no-cache') {
18+
$request = $request->withAttribute('noCache', true);
19+
}
20+
21+
return $handler->handle($request);
22+
}
23+
24+
}

Configuration/RequestMiddlewares.php

+7
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@
5353
'typo3/cms-frontend/output-compression',
5454
],
5555
];
56+
57+
$vierwdMiddlewares['frontend']['vierwd/base/disable-cache'] = [
58+
'target' => \Vierwd\VierwdBase\Frontend\Middleware\DisableCache::class,
59+
'before' => [
60+
'typo3/cms-frontend/page-argument-validator',
61+
],
62+
];
5663
}
5764

5865
return $vierwdMiddlewares;

ext_localconf.php

-8
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,6 @@
165165
}
166166

167167
if (!empty($_SERVER['VIERWD_CONFIG'])) {
168-
// **************
169-
// Allow Shift-Reload even without admin login in local context
170-
if (!empty($_SERVER['HTTP_CACHE_CONTROL']) && strtolower($_SERVER['HTTP_CACHE_CONTROL']) === 'no-cache') {
171-
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['headerNoCache'][] = function(array $params): void {
172-
$params['disableAcquireCacheData'] = true;
173-
};
174-
}
175-
176168
// **************
177169
// Force case-sensitive file systems
178170
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][\TYPO3\CMS\Core\Resource\StorageRepository::class] = [

0 commit comments

Comments
 (0)