Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33.7
Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system
Directory :  /nas/content/live/attorneyexperi/wp-content/plugins/wp-rocket/inc/Addon/Varnish/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /nas/content/live/attorneyexperi/wp-content/plugins/wp-rocket/inc/Addon/Varnish/Varnish.php
<?php
namespace WP_Rocket\Addon\Varnish;

/**
 * Varnish cache purge
 *
 * @since 3.5
 */
class Varnish {
	/**
	 * Send purge request to Varnish
	 *
	 * @since 3.5
	 *
	 * @param  string $url The URL to purge.
	 * @return void
	 */
	public function purge( $url ) {
		$parse_url      = get_rocket_parse_url( $url );
		$x_purge_method = 'default';
		$regex          = '';

		if ( 'regex' === $parse_url['query'] ) {
			$x_purge_method = 'regex';
			$regex          = '.*';
		}

		/**
		 * Filter the HTTP protocol (scheme)
		 *
		 * @since 2.7.3
		 * @param string $scheme The HTTP protocol
		 */
		$scheme = apply_filters( 'rocket_varnish_http_purge_scheme', 'http' );

		/**
		 * Filters the headers to send with the Varnish purge request
		 *
		 * @since 3.1
		 *
		 * @param array $headers Headers to send.
		 */
		$headers = apply_filters(
			'rocket_varnish_purge_headers',
			[
				/**
				* Filters the host value passed in the request headers
				*
				* @since 2.8.15
				* @param string $host The host value.
				*/
				'host'           => apply_filters( 'rocket_varnish_purge_request_host', $parse_url['host'] ),
				'X-Purge-Method' => $x_purge_method,
			]
		);

		/**
		 * Filters the arguments passed to the Varnish purge request
		 *
		 * @since 3.5
		 *
		 * @param array $args Array of arguments for the request.
		 */
		$args = apply_filters(
			'rocket_varnish_purge_request_args',
			[
				'method'      => 'PURGE',
				'blocking'    => false,
				'redirection' => 0,
				'headers'     => $headers,
			]
		);

		foreach ( $this->get_varnish_ips() as $ip ) {
			$host           = ! empty( $ip ) ? $ip : str_replace( '*', '', $parse_url['host'] );
			$purge_url_main = $scheme . '://' . $host . $parse_url['path'];

			/**
			 * Filters the purge url.
			 *
			 * @since 3.6.3
			 *
			 * @param string $purge_url_full Full url contains the main url plus regex pattern.
			 * @param string $purge_url_main Main purge url without any additions params.
			 * @param string $regex          Regex string.
			 */
			$purge_url = apply_filters(
				'rocket_varnish_purge_url',
				$purge_url_main . $regex,
				$purge_url_main,
				$regex
			);

			wp_remote_request( $purge_url, $args );
		}
	}

	/**
	 * Gets an array of Varnish IPs to send the purge request to
	 *
	 * @return array
	 */
	private function get_varnish_ips() {
		/**
		* Filter the Varnish IP to call
		*
		* @since 2.6.8
		* @param string|array $varnish_ip The Varnish IP
		*/
		$varnish_ip = apply_filters( 'rocket_varnish_ip', [] );
		$constant   = rocket_get_constant( 'WP_ROCKET_VARNISH_IP' );

		if (
			! empty( $constant )
			&&
			empty( $varnish_ip )
		) {
			$varnish_ip = $constant;
		}

		if ( empty( $varnish_ip ) ) {
			$varnish_ip = [ '' ];
		} elseif ( is_string( $varnish_ip ) ) {
			$varnish_ip = (array) $varnish_ip;
		}

		return $varnish_ip;
	}
}

Spamworldpro Mini