!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/picomail.picotech.app/public_html/vendor/symfony/http-client/   drwxr-xr-x
Free 28.57 GB of 117.98 GB (24.22%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     AmpHttpClient.php (6.97 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\HttpClient;

use 
Amp\CancelledException;
use 
Amp\Http\Client\DelegateHttpClient;
use 
Amp\Http\Client\InterceptedHttpClient;
use 
Amp\Http\Client\PooledHttpClient;
use 
Amp\Http\Client\Request;
use 
Amp\Http\Tunnel\Http1TunnelConnector;
use 
Amp\Promise;
use 
Psr\Log\LoggerAwareInterface;
use 
Psr\Log\LoggerAwareTrait;
use 
Symfony\Component\HttpClient\Exception\TransportException;
use 
Symfony\Component\HttpClient\Internal\AmpClientState;
use 
Symfony\Component\HttpClient\Response\AmpResponse;
use 
Symfony\Component\HttpClient\Response\ResponseStream;
use 
Symfony\Contracts\HttpClient\HttpClientInterface;
use 
Symfony\Contracts\HttpClient\ResponseInterface;
use 
Symfony\Contracts\HttpClient\ResponseStreamInterface;
use 
Symfony\Contracts\Service\ResetInterface;

if (!
interface_exists(DelegateHttpClient::class)) {
    throw new 
\LogicException('You cannot use "Symfony\Component\HttpClient\AmpHttpClient" as the "amphp/http-client" package is not installed. Try running "composer require amphp/http-client:^4.2.1".');
}

if (!
interface_exists(Promise::class)) {
    throw new 
\LogicException('You cannot use "Symfony\Component\HttpClient\AmpHttpClient" as the installed "amphp/http-client" is not compatible with this version of "symfony/http-client". Try downgrading "amphp/http-client" to "^4.2.1".');
}

/**
 * A portable implementation of the HttpClientInterface contracts based on Amp's HTTP client.
 *
 * @author Nicolas Grekas <p@tchwork.com>
 */
final class AmpHttpClient implements HttpClientInterfaceLoggerAwareInterfaceResetInterface
{
    use 
HttpClientTrait;
    use 
LoggerAwareTrait;

    private array 
$defaultOptions self::OPTIONS_DEFAULTS;
    private static array 
$emptyDefaults self::OPTIONS_DEFAULTS;
    private 
AmpClientState $multi;

    
/**
     * @param array    $defaultOptions     Default requests' options
     * @param callable $clientConfigurator A callable that builds a {@see DelegateHttpClient} from a {@see PooledHttpClient};
     *                                     passing null builds an {@see InterceptedHttpClient} with 2 retries on failures
     * @param int      $maxHostConnections The maximum number of connections to a single host
     * @param int      $maxPendingPushes   The maximum number of pushed responses to accept in the queue
     *
     * @see HttpClientInterface::OPTIONS_DEFAULTS for available options
     */
    
public function __construct(array $defaultOptions = [], callable $clientConfigurator nullint $maxHostConnections 6int $maxPendingPushes 50)
    {
        
$this->defaultOptions['buffer'] ??= self::shouldBuffer(...);

        if (
$defaultOptions) {
            [, 
$this->defaultOptions] = self::prepareRequest(nullnull$defaultOptions$this->defaultOptions);
        }

        
$this->multi = new AmpClientState($clientConfigurator$maxHostConnections$maxPendingPushes$this->logger);
    }

    
/**
     * @see HttpClientInterface::OPTIONS_DEFAULTS for available options
     */
    
public function request(string $methodstring $url, array $options = []): ResponseInterface
    
{
        [
$url$options] = self::prepareRequest($method$url$options$this->defaultOptions);

        
$options['proxy'] = self::getProxy($options['proxy'], $url$options['no_proxy']);

        if (
null !== $options['proxy'] && !class_exists(Http1TunnelConnector::class)) {
            throw new 
\LogicException('You cannot use the "proxy" option as the "amphp/http-tunnel" package is not installed. Try running "composer require amphp/http-tunnel".');
        }

        if (
$options['bindto']) {
            if (
str_starts_with($options['bindto'], 'if!')) {
                throw new 
TransportException(__CLASS__.' cannot bind to network interfaces, use e.g. CurlHttpClient instead.');
            }
            if (
str_starts_with($options['bindto'], 'host!')) {
                
$options['bindto'] = substr($options['bindto'], 5);
            }
        }

        if ((
'' !== $options['body'] || 'POST' === $method || isset($options['normalized_headers']['content-length'])) && !isset($options['normalized_headers']['content-type'])) {
            
$options['headers'][] = 'Content-Type: application/x-www-form-urlencoded';
        }

        if (!isset(
$options['normalized_headers']['user-agent'])) {
            
$options['headers'][] = 'User-Agent: Symfony HttpClient/Amp';
        }

        if (
$options['max_duration']) {
            
$options['timeout'] = min($options['max_duration'], $options['timeout']);
        }

        if (
$options['resolve']) {
            
$this->multi->dnsCache $options['resolve'] + $this->multi->dnsCache;
        }

        if (
$options['peer_fingerprint'] && !isset($options['peer_fingerprint']['pin-sha256'])) {
            throw new 
TransportException(__CLASS__.' supports only "pin-sha256" fingerprints.');
        }

        
$request = new Request(implode(''$url), $method);

        if (
$options['http_version']) {
            
$request->setProtocolVersions(match ((float) $options['http_version']) {
                
1.0 => ['1.0'],
                
1.1 => $request->setProtocolVersions(['1.1''1.0']),
                default => [
'2''1.1''1.0'],
            });
        }

        foreach (
$options['headers'] as $v) {
            
$h explode(': '$v2);
            
$request->addHeader($h[0], $h[1]);
        }

        
$request->setTcpConnectTimeout(1000 $options['timeout']);
        
$request->setTlsHandshakeTimeout(1000 $options['timeout']);
        
$request->setTransferTimeout(1000 $options['max_duration']);
        if (
method_exists($request'setInactivityTimeout')) {
            
$request->setInactivityTimeout(0);
        }

        if (
'' !== $request->getUri()->getUserInfo() && !$request->hasHeader('authorization')) {
            
$auth explode(':'$request->getUri()->getUserInfo(), 2);
            
$auth array_map('rawurldecode'$auth) + [=> ''];
            
$request->setHeader('Authorization''Basic '.base64_encode(implode(':'$auth)));
        }

        return new 
AmpResponse($this->multi$request$options$this->logger);
    }

    public function 
stream(ResponseInterface|iterable $responsesfloat $timeout null): ResponseStreamInterface
    
{
        if (
$responses instanceof AmpResponse) {
            
$responses = [$responses];
        }

        return new 
ResponseStream(AmpResponse::stream($responses$timeout));
    }

    public function 
reset()
    {
        
$this->multi->dnsCache = [];

        foreach (
$this->multi->pushedResponses as $authority => $pushedResponses) {
            foreach (
$pushedResponses as [$pushedUrl$pushDeferred]) {
                
$pushDeferred->fail(new CancelledException());

                
$this->logger?->debug(sprintf('Unused pushed response: "%s"'$pushedUrl));
            }
        }

        
$this->multi->pushedResponses = [];
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0048 ]--