PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.19.0
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.19.0
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 / NestifyCDN.php
nitropack / classes / Integration / Server Last commit date
Cloudflare.php 1 year ago Fastly.php 1 year ago LiteSpeed.php 1 year ago NestifyCDN.php 1 year ago NginxFastCgi.php 1 year ago Sucuri.php 1 year ago
NestifyCDN.php
46 lines
1 <?php
2
3 namespace NitroPack\Integration\Server;
4
5 /* Purge Nestify CDN cache on NitroPack purge cache */
6
7 class NestifyCDN {
8 const STAGE = "very_early";
9 public function init( $stage ) {
10 if ( defined( 'NESTIFY_CDN_SITE_ID' ) ) {
11 add_action( 'nitropack_execute_purge_url', [ $this, 'log_purge_action' ], 10, 1 );
12 add_action( 'nitropack_execute_purge_all', [ $this, 'log_purge_action' ], 10, 1 );
13 }
14 }
15 /* Purge Nestify CDN cache on NitroPack purge cache. Used in WordPress Plugin called CDN Cache Helper */
16 public function log_purge_action( $url = 'all' ) {
17 static $files = array();
18 static $shutdown_hook_registered = false;
19
20 if ( $url !== '' ) {
21 $files[] = $url;
22 }
23
24 if ( ! $shutdown_hook_registered ) {
25 try {
26 $siteConfig = nitropack_get_site_config();
27 if ( $siteConfig && ! empty( $siteConfig['home_url'] ) ) {
28 $data = array( 'url' => $_SERVER['HTTP_HOST'], 'files' => $files );
29 $cdn_url = 'https://my.nestify.io/cdn/purge/' . NESTIFY_CDN_SITE_ID . '/purge';
30 $client = new \NitroPack\HttpClient\HttpClient( $cdn_url );
31 $client->setHeader( "Accept", "application/json" );
32 $client->setHeader( "Content-Type", "application/json" );
33 $client->setPostData( json_encode( $data ) );
34 $client->timeout = 5;
35 $client->fetch( false, "POST" );
36 }
37
38 } catch (\Exception $e) {
39
40 error_log( ' Exception: ' . $e->getMessage() );
41 }
42 $shutdown_hook_registered = true;
43 }
44 }
45 }
46