PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.19.7
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.19.7
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 1 year ago Base.php 8 months ago Cache.php 1 year ago ExcludedUrls.php 1 year ago Excludes.php 1 year ago Integration.php 1 year ago RemoteConfigFetcher.php 1 year ago RequestMaker.php 1 year ago Response.php 1 year ago ResponseStatus.php 1 year ago SafeMode.php 1 year ago SecureRequestMaker.php 1 year ago SignedBase.php 1 year ago Stats.php 1 year ago Tagger.php 1 year ago Url.php 1 year ago VariationCookie.php 1 year ago Varnish.php 1 year ago Warmup.php 1 year ago Webhook.php 1 year 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