PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / trunk
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization vtrunk
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 / Varnish.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
Varnish.php
101 lines
1 <?php
2 namespace NitroPack\SDK\Api;
3
4 class Varnish extends SignedBase
5 {
6 protected $secret;
7
8 public function __construct($siteId, $siteSecret) {
9 parent::__construct($siteId, $siteSecret);
10 $this->secret = $siteSecret;
11 }
12
13 public function enable()
14 {
15 $path = 'varnish/enable/' . $this->siteId;
16
17 $httpResponse = $this->makeRequest($path, array(), array(), 'POST');
18
19 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
20 switch ($status) {
21 case ResponseStatus::OK:
22 return true;
23 default:
24 $this->throwException($httpResponse, 'Error while enabling Varnish integration: %s');
25 }
26 }
27
28 public function disable()
29 {
30 $path = 'varnish/disable/' . $this->siteId;
31
32 $httpResponse = $this->makeRequest($path, array(), array(), 'POST');
33
34 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
35 switch ($status) {
36 case ResponseStatus::OK:
37 return true;
38 default:
39 $this->throwException($httpResponse, 'Error while disabling Varnish integration: %s');
40 }
41 }
42
43 public function configure($settings)
44 {
45 $path = 'varnish/configure/' . $this->siteId;
46
47 $post = [
48 'Servers' => !empty($settings['Servers']) ? $settings['Servers'] : [],
49 'PurgeAllUrl' => !empty($settings['PurgeAllUrl']) ? $settings['PurgeAllUrl'] : '',
50 'PurgeAllMethod' => !empty($settings['PurgeAllMethod']) ? $settings['PurgeAllMethod'] : '',
51 'PurgeSingleMethod' => !empty($settings['PurgeSingleMethod']) ? $settings['PurgeSingleMethod'] : '',
52 ];
53
54 $httpResponse = $this->makeRequest($path, array(), array(), 'POST', $post);
55
56 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
57 switch ($status) {
58 case ResponseStatus::OK:
59 return json_decode($httpResponse->getBody(), true);
60 default:
61 $this->throwException($httpResponse, 'Error while configure the Varnish integration: %s');
62 }
63 }
64
65 public function get()
66 {
67 $path = 'varnish/get/' . $this->siteId;
68
69 $httpResponse = $this->makeRequest($path, array(), array(), 'GET');
70
71 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
72 switch ($status) {
73 case ResponseStatus::OK:
74 $configSet = json_decode($httpResponse->getBody(), true);
75 return $configSet;
76 default:
77 $this->throwException($httpResponse, 'Error while getting Varnish config set: %s');
78 }
79 }
80
81 public function set($settings)
82 {
83 $path = 'varnish/set/' . $this->siteId;
84
85 if (empty($settings) || !is_array($settings)) {
86 $settings = array();
87 }
88
89 $post = empty($settings) ? array() : array('configSet' => $settings);
90
91 $httpResponse = $this->makeRequest($path, array(), array(), 'POST', $post);
92
93 $status = ResponseStatus::getStatus($httpResponse->getStatusCode());
94 switch ($status) {
95 case ResponseStatus::OK:
96 return true;
97 default:
98 $this->throwException($httpResponse, 'Error while setting Varnish config: %s');
99 }
100 }
101 }