PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.17.6
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.17.6
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 / nitropack-sdk / NitroPack / SDK / Api / Excludes.php
nitropack / nitropack-sdk / NitroPack / SDK / Api Last commit date
AdditionalDomains.php 3 years ago Base.php 3 years ago Cache.php 2 years ago ExcludedUrls.php 3 years ago Excludes.php 2 years ago Integration.php 2 years ago RemoteConfigFetcher.php 4 years ago RequestMaker.php 5 years ago Response.php 6 years ago ResponseStatus.php 6 years ago SafeMode.php 3 years ago SecureRequestMaker.php 5 years ago SignedBase.php 3 years ago Stats.php 6 years ago Tagger.php 3 years ago Url.php 6 years ago VariationCookie.php 6 years ago Varnish.php 2 years ago Warmup.php 6 years ago Webhook.php 6 years ago
Excludes.php
101 lines
1 <?php
2 namespace NitroPack\SDK\Api;
3
4 use \NitroPack\SDK\ExcludeEntry;
5
6 class Excludes extends SignedBase
7 {
8 protected $secret;
9
10 public function __construct($siteId, $siteSecret)
11 {
12 parent::__construct($siteId, $siteSecret);
13 $this->secret = $siteSecret;
14 }
15
16 public function enable()
17 {
18 $path = 'excludes/enable/' . $this->siteId;
19
20 $httpResponse = $this->makeRequest($path, array(), array(), 'POST');
21
22 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
23 switch ($status) {
24 case ResponseStatus::OK:
25 return true;
26 default:
27 $this->throwException($httpResponse, 'Error while enabling Excludes: %s');
28 }
29 }
30
31 public function disable()
32 {
33 $path = 'excludes/disable/' . $this->siteId;
34
35 $httpResponse = $this->makeRequest($path, array(), array(), 'POST');
36
37 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
38 switch ($status) {
39 case ResponseStatus::OK:
40 return true;
41 default:
42 $this->throwException($httpResponse, 'Error while disabling Excludes: %s');
43 }
44 }
45
46 public function get()
47 {
48 $path = 'excludes/get/' . $this->siteId;
49
50 $httpResponse = $this->makeRequest($path, array(), array(), 'GET');
51
52 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
53 switch ($status) {
54 case ResponseStatus::OK:
55 $entries = json_decode($httpResponse->getBody(), true);
56 return array_map(function($el) {
57 $entry = new ExcludeEntry();
58 foreach ($el as $prop => $val) {
59 $entry->$prop = $val;
60 }
61 return $entry;
62 }, $entries);
63 default:
64 $this->throwException($httpResponse, 'Error while getting Excludes: %s');
65 }
66 }
67
68 public function set($excludes)
69 {
70 $path = 'excludes/set/' . $this->siteId;
71
72
73 $excludes = json_decode(json_encode($excludes), true);
74 $excludes = array_map(function($el) {
75 // Ugly but needed for the signature to match
76 foreach ($el as &$val) {
77 if ($val === NULL) {
78 $val = "";
79 }
80 }
81
82 foreach ($el["operation"] as &$val) {
83 $val = (string)(int)$val;
84 }
85 return $el;
86 }, $excludes);
87
88 $post = !empty($excludes) ? ['excludes' => $excludes] : [];
89
90 $httpResponse = $this->makeRequest($path, array(), array(), 'POST', $post);
91
92 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
93 switch ($status) {
94 case ResponseStatus::OK:
95 return true;
96 default:
97 $this->throwException($httpResponse, 'Error while setting Excludes: %s');
98 }
99 }
100 }
101