Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
home
/
ophq1335
/
www
/
wp-content
/
plugins
/
updraftplus
/
includes
/
/home/ophq1335/www/wp-content/plugins/updraftplus/includes/azure-extensions.php
<?php namespace WindowsAzure\Common; use WindowsAzure\Blob\BlobRestProxy; use WindowsAzure\Common\Internal\Resources; use WindowsAzure\Common\Internal\Validate; use WindowsAzure\Common\Internal\Utilities; use WindowsAzure\Common\Internal\Http\HttpClient; use WindowsAzure\Common\Internal\Filters\DateFilter; use WindowsAzure\Common\Internal\Filters\HeadersFilter; use WindowsAzure\Common\Internal\Filters\AuthenticationFilter; use WindowsAzure\Common\Internal\Filters\WrapFilter; use WindowsAzure\Common\Internal\InvalidArgumentTypeException; use WindowsAzure\Common\Internal\Serialization\XmlSerializer; use WindowsAzure\Common\Internal\Authentication\SharedKeyAuthScheme; use WindowsAzure\Common\Internal\Authentication\TableSharedKeyLiteAuthScheme; use WindowsAzure\Common\Internal\StorageServiceSettings; use WindowsAzure\Common\Internal\ServiceManagementSettings; use WindowsAzure\Common\Internal\ServiceBusSettings; use WindowsAzure\Common\Internal\MediaServicesSettings; use WindowsAzure\Queue\QueueRestProxy; use WindowsAzure\ServiceBus\ServiceBusRestProxy; use WindowsAzure\ServiceBus\Internal\WrapRestProxy; use WindowsAzure\ServiceManagement\ServiceManagementRestProxy; use WindowsAzure\Table\TableRestProxy; use WindowsAzure\Table\Internal\AtomReaderWriter; use WindowsAzure\Table\Internal\MimeReaderWriter; use WindowsAzure\MediaServices\MediaServicesRestProxy; use WindowsAzure\Common\Internal\OAuthRestProxy; use WindowsAzure\Common\Internal\Authentication\OAuthScheme; if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed'); /** * UpdraftPlus notes: * We had to extend the class in order to implement our SSL options; see: https://github.com/Azure/azure-sdk-for-php/issues/758 * Note that we're just implementing the option for caPath; and verification will always take place (i.e. the option for disabling verification is ignored). Using that option would mean extending a * lot more, and there's no clear use case for it. */ class UpdraftPlus_ServicesBuilder extends ServicesBuilder { private $_updraftplus_capath = ''; private static $_updraftplus_instance = null; /** * This is what we really wanted to do: pass on a parameter to HttpClient() * * @return array */ protected function httpClient() { return new HttpClient('', $this->_updraftplus_capath); } /** * Here, we pull something that we've added out of the connection string, before carrying on with the previous processing * * @param string $connection_string the string for the connection * @param string $endpoint Azure BLOB storage endpoint * @return array */ public function createBlobService($connection_string, $endpoint) { // Remove our bit if (false !== ($i = strpos($connection_string, ';SSLCAPath='))) { $this->_updraftplus_capath = substr($connection_string, $i + 11); $connection_string = substr($connection_string, 0, $i); } return parent::createBlobService($connection_string, $endpoint); } /** * We modified this because the instance was a private variable, and we also need to invoke ourself, not the parent * * @return array */ public static function getInstance() { if (!isset(self::$_updraftplus_instance)) { self::$_updraftplus_instance = new UpdraftPlus_ServicesBuilder(); } return self::$_updraftplus_instance; } }