Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/cartforge.co/vendor/csharpru/vault-php/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/cartforge.co/vendor/csharpru/vault-php/src/CachedClient.php
<?php


namespace Vault;

use Psr\Cache\InvalidArgumentException;
use Vault\ResponseModels\Response;

/**
 * Class CachedClient
 *
 * @package Vault
 */
class CachedClient extends Client
{
    public const READ_CACHE_KEY = 'vault_client_read_cache';

    /**
     * @var bool
     */
    protected $readCacheEnabled = false;

    /**
     * @var int
     */
    protected $readCacheTtl = 3600;

    /**
     * @inheritdoc
     *
     * @throws InvalidArgumentException
     */
    public function read(string $path): Response
    {
        if (!$this->readCacheEnabled) {
            return parent::read($path);
        }

        if (!$this->cache) {
            $this->logger->warning('Cache is enabled, but cache pool is not set.');

            return parent::read($path);
        }

        $key = self::READ_CACHE_KEY . str_replace(['{', '}', '(', ')', '/', '\\', '@', '-'], '_', $path);

        if ($this->cache->hasItem($key)) {
            $this->logger->debug('Has read response in cache.', ['path' => $path]);

            return $this->cache->getItem($key)->get();
        }

        $response = parent::read($path);

        $item = $this->cache->getItem($key);

        $item->set($response)->expiresAfter($this->readCacheTtl);

        $this->logger->debug('Saving read response in cache.', ['path' => $path, 'item' => $item]);

        if (!$this->cache->save($item)) {
            $this->logger->warning('Cannot save read response into cache.', ['path' => $path]);
        }

        return $response;
    }

    /**
     * @return bool
     */
    public function isReadCacheEnabled(): bool
    {
        return $this->readCacheEnabled;
    }

    /**
     * @return $this
     */
    public function enableReadCache()
    {
        $this->readCacheEnabled = true;

        return $this;
    }

    /**
     * @return $this
     */
    public function disableReadCache()
    {
        $this->readCacheEnabled = false;

        return $this;
    }

    /**
     * @return int
     */
    public function getReadCacheTtl(): int
    {
        return $this->readCacheTtl;
    }

    /**
     * @param int $readCacheTtl
     *
     * @return $this
     */
    public function setReadCacheTtl(int $readCacheTtl)
    {
        $this->readCacheTtl = $readCacheTtl;

        return $this;
    }
}

Spamworldpro Mini