Issues (61)

src/Cdn/AkamaiCacheControlHeaderSetter.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
namespace BEAR\QueryRepository\Cdn;
6
7
use BEAR\QueryRepository\CdnCacheControlHeaderSetterInterface;
8
use BEAR\QueryRepository\Header;
9
use BEAR\Resource\ResourceObject;
10
use Override;
11
12
use function sprintf;
13
14
final class AkamaiCacheControlHeaderSetter implements CdnCacheControlHeaderSetterInterface
15
{
16
    public const CDN_CACHE_CONTROL_HEADER = 'Akamai-Cache-Control';
17
    private const PURGE_KEYS = 'Edge-Cache-Tag';
18
19
    #[Override]
20
    public function __invoke(ResourceObject $ro, int|null $sMaxAge): void
21
    {
22
        $sMaxAge ??= 31_536_000;
0 ignored issues
show
A parse error occurred: Syntax error, unexpected T_STRING on line 22 at column 23
Loading history...
23
        if (isset($ro->headers[Header::SURROGATE_KEY])) {
24
            $ro->headers[self::PURGE_KEYS] = $ro->headers[Header::SURROGATE_KEY];
25
            unset($ro->headers[Header::SURROGATE_KEY]);
26
        }
27
28
        if (! isset($ro->headers[self::CDN_CACHE_CONTROL_HEADER])) {
29
            $ro->headers[self::CDN_CACHE_CONTROL_HEADER] = sprintf('max-age=%s', (string) $sMaxAge);
30
        }
31
    }
32
}
33