Minor: the sprintf output could be put in a variable so setHeader would be called only once:
```php
//just cutting down on typing here for the example, a normal if here is totally fine
$header = ($varnishTTL === self::CACHE_PRIVATE_DISABLED) ? 'private, max-age=0, must-revalidate' : sprintf('s-maxage=%d', $varnishTTL);
$this->setHeader('Cache-Control', $header);
```