<?php
/**
* The quic.cloud class.
*
* @since 2.4.1
* @package LiteSpeed
* @subpackage LiteSpeed/src/cdn
* @author LiteSpeed Technologies <info@litespeedtech.com>
*/
namespace LiteSpeed\CDN ;
use LiteSpeed\Core ;
use LiteSpeed\Cloud ;
use LiteSpeed\Base ;
use LiteSpeed\Conf ;
use LiteSpeed\Debug2;
use LiteSpeed\Instance ;
defined( 'WPINC' ) || exit ;
class Quic extends Instance
{
protected static $_instance ;
private $_api_key ;
const TYPE_REG = 'reg' ;
/**
* Notify CDN new config updated
*
* @access public
*/
public static function try_sync_config()
{
$options = Conf::get_instance()->get_options() ;
if ( ! $options[ Base::O_CDN_QUIC ] ) {
return false ;
}
// Security: Remove cf key in report
$secure_fields = array(
Base::O_CDN_CLOUDFLARE_KEY,
Base::O_OBJECT_PSWD,
) ;
foreach ( $secure_fields as $v ) {
if ( ! empty( $options[ $v ] ) ) {
$options[ $v ] = str_repeat( '*', strlen( $options[ $v ] ) ) ;
}
}
unset( $options[ Base::O_MEDIA_LQIP_EXC ] );
// Rest url
$options[ '_rest' ] = function_exists( 'rest_get_url_prefix' ) ? rest_get_url_prefix() : apply_filters( 'rest_url_prefix', 'wp-json' );
// Add server env vars
$options[ '_server' ] = Base::get_instance()->server_vars() ;
// Append hooks
$options[ '_tp_cookies' ] = apply_filters( 'litespeed_api_vary', array() ) ;
Cloud::post( Cloud::SVC_D_SYNC_CONF, $options ) ;
}
}