PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.6.1
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.6.1
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / classes / Integration / Server / Fastly.php
nitropack / classes / Integration / Server Last commit date
Cloudflare.php 3 years ago Fastly.php 4 years ago LiteSpeed.php 3 years ago Sucuri.php 4 years ago
Fastly.php
38 lines
1 <?php
2
3 namespace NitroPack\Integration\Server;
4
5 class Fastly {
6 const STAGE = "very_early";
7
8 public static function detect() {
9 return !empty($_SERVER["HTTP_SURROGATE_CONTROL"]);
10 }
11
12 public static function isCacheEnabled() {
13 return self::detect() && !empty($_SERVER["HTTP_SEC_CH_UA_MOBILE"]);
14 }
15
16 public function init($stage) {
17 if (self::detect()) {
18 nitropack_header("Accept-CH: Sec-CH-UA-Mobile");
19
20 if (self::isCacheEnabled()) {
21 add_action('nitropack_early_cache_headers', [$this, 'allowProxyCache']);
22 } else {
23 add_action('nitropack_early_cache_headers', [$this, 'preventProxyCache']);
24 }
25 }
26 }
27
28 public function allowProxyCache() {
29 nitropack_header("Vary: sec-ch-ua-mobile");
30 nitropack_header("Surrogate-Control: max-age=5, stale-while-revalidate=3600");
31 }
32
33 public function preventProxyCache() {
34 nitropack_header("Surrogate-Control: max-age=0, must-revalidate");
35 }
36 }
37
38