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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/main_file/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/   drwxr-xr-x
Free 13.05 GB of 57.97 GB (22.52%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Aws\ClientSideMonitoring;

use 
Aws\CommandInterface;
use 
Aws\Credentials\CredentialsInterface;
use 
Aws\Exception\AwsException;
use 
Aws\ResponseContainerInterface;
use 
Aws\ResultInterface;
use 
Psr\Http\Message\RequestInterface;
use 
Psr\Http\Message\ResponseInterface;

/**
 * @internal
 */
class ApiCallAttemptMonitoringMiddleware extends AbstractMonitoringMiddleware
{

    
/**
     * Standard middleware wrapper function with CSM options passed in.
     *
     * @param callable $credentialProvider
     * @param mixed  $options
     * @param string $region
     * @param string $service
     * @return callable
     */
    
public static function wrap(
        callable 
$credentialProvider,
        
$options,
        
$region,
        
$service
    
) {
        return function (callable 
$handler) use (
            
$credentialProvider,
            
$options,
            
$region,
            
$service
        
) {
            return new static(
                
$handler,
                
$credentialProvider,
                
$options,
                
$region,
                
$service
            
);
        };
    }

    
/**
     * {@inheritdoc}
     */
    
public static function getRequestData(RequestInterface $request)
    {
        return [
            
'Fqdn' => $request->getUri()->getHost(),
        ];
    }

    
/**
     * {@inheritdoc}
     */
    
public static function getResponseData($klass)
    {
        if (
$klass instanceof ResultInterface) {
            return [
                
'AttemptLatency' => self::getResultAttemptLatency($klass),
                
'DestinationIp' => self::getResultDestinationIp($klass),
                
'DnsLatency' => self::getResultDnsLatency($klass),
                
'HttpStatusCode' => self::getResultHttpStatusCode($klass),
                
'XAmzId2' => self::getResultHeader($klass'x-amz-id-2'),
                
'XAmzRequestId' => self::getResultHeader($klass'x-amz-request-id'),
                
'XAmznRequestId' => self::getResultHeader($klass'x-amzn-RequestId'),
            ];
        }
        if (
$klass instanceof AwsException) {
            return [
                
'AttemptLatency' => self::getAwsExceptionAttemptLatency($klass),
                
'AwsException' => substr(
                    
self::getAwsExceptionErrorCode($klass),
                    
0,
                    
128
                
),
                
'AwsExceptionMessage' => substr(
                    
self::getAwsExceptionMessage($klass),
                    
0,
                    
512
                
),
                
'DestinationIp' => self::getAwsExceptionDestinationIp($klass),
                
'DnsLatency' => self::getAwsExceptionDnsLatency($klass),
                
'HttpStatusCode' => self::getAwsExceptionHttpStatusCode($klass),
                
'XAmzId2' => self::getAwsExceptionHeader($klass'x-amz-id-2'),
                
'XAmzRequestId' => self::getAwsExceptionHeader(
                    
$klass,
                    
'x-amz-request-id'
                
),
                
'XAmznRequestId' => self::getAwsExceptionHeader(
                    
$klass,
                    
'x-amzn-RequestId'
                
),
            ];
        }
        if (
$klass instanceof \Exception) {
            return [
                
'HttpStatusCode' => self::getExceptionHttpStatusCode($klass),
                
'SdkException' => substr(
                    
self::getExceptionCode($klass),
                    
0,
                    
128
                
),
                
'SdkExceptionMessage' => substr(
                    
self::getExceptionMessage($klass),
                    
0,
                    
512
                
),
                
'XAmzId2' => self::getExceptionHeader($klass'x-amz-id-2'),
                
'XAmzRequestId' => self::getExceptionHeader($klass'x-amz-request-id'),
                
'XAmznRequestId' => self::getExceptionHeader($klass'x-amzn-RequestId'),
            ];
        }

        throw new 
\InvalidArgumentException('Parameter must be an instance of ResultInterface, AwsException or Exception.');
    }

    private static function 
getResultAttemptLatency(ResultInterface $result)
    {
        if (isset(
$result['@metadata']['transferStats']['http'])) {
            
$attempt end($result['@metadata']['transferStats']['http']);
            if (isset(
$attempt['total_time'])) {
                return (int) 
floor($attempt['total_time'] * 1000);
            }
        }
        return 
null;
    }

    private static function 
getResultDestinationIp(ResultInterface $result)
    {
        if (isset(
$result['@metadata']['transferStats']['http'])) {
            
$attempt end($result['@metadata']['transferStats']['http']);
            if (isset(
$attempt['primary_ip'])) {
                return 
$attempt['primary_ip'];
            }
        }
        return 
null;
    }

    private static function 
getResultDnsLatency(ResultInterface $result)
    {
        if (isset(
$result['@metadata']['transferStats']['http'])) {
            
$attempt end($result['@metadata']['transferStats']['http']);
            if (isset(
$attempt['namelookup_time'])) {
                return (int) 
floor($attempt['namelookup_time'] * 1000);
            }
        }
        return 
null;
    }

    private static function 
getResultHttpStatusCode(ResultInterface $result)
    {
        return 
$result['@metadata']['statusCode'];
    }

    private static function 
getAwsExceptionAttemptLatency(AwsException $e) {
        
$attempt $e->getTransferInfo();
        if (isset(
$attempt['total_time'])) {
            return (int) 
floor($attempt['total_time'] * 1000);
        }
        return 
null;
    }

    private static function 
getAwsExceptionErrorCode(AwsException $e) {
        return 
$e->getAwsErrorCode();
    }

    private static function 
getAwsExceptionMessage(AwsException $e) {
        return 
$e->getAwsErrorMessage();
    }

    private static function 
getAwsExceptionDestinationIp(AwsException $e) {
        
$attempt $e->getTransferInfo();
        if (isset(
$attempt['primary_ip'])) {
            return 
$attempt['primary_ip'];
        }
        return 
null;
    }

    private static function 
getAwsExceptionDnsLatency(AwsException $e) {
        
$attempt $e->getTransferInfo();
        if (isset(
$attempt['namelookup_time'])) {
            return (int) 
floor($attempt['namelookup_time'] * 1000);
        }
        return 
null;
    }

    private static function 
getAwsExceptionHttpStatusCode(AwsException $e) {
        
$response $e->getResponse();
        if (
$response !== null) {
            return 
$response->getStatusCode();
        }
        return 
null;
    }

    private static function 
getExceptionHttpStatusCode(\Exception $e) {
        if (
$e instanceof ResponseContainerInterface) {
            
$response $e->getResponse();
            if (
$response instanceof ResponseInterface) {
                return 
$response->getStatusCode();
            }
        }
        return 
null;
    }

    private static function 
getExceptionCode(\Exception $e) {
        if (!(
$e instanceof AwsException)) {
            return 
get_class($e);
        }
        return 
null;
    }

    private static function 
getExceptionMessage(\Exception $e) {
        if (!(
$e instanceof AwsException)) {
            return 
$e->getMessage();
        }
        return 
null;
    }

    
/**
     * {@inheritdoc}
     */
    
protected function populateRequestEventData(
        
CommandInterface $cmd,
        
RequestInterface $request,
        array 
$event
    
) {
        
$event parent::populateRequestEventData($cmd$request$event);
        
$event['Type'] = 'ApiCallAttempt';
        return 
$event;
    }

    
/**
     * {@inheritdoc}
     */
    
protected function populateResultEventData(
        
$result,
        array 
$event
    
) {
        
$event parent::populateResultEventData($result$event);

        
$provider $this->credentialProvider;
        
/** @var CredentialsInterface $credentials */
        
$credentials $provider()->wait();
        
$event['AccessKey'] = $credentials->getAccessKeyId();
        
$sessionToken $credentials->getSecurityToken();
        if (
$sessionToken !== null) {
            
$event['SessionToken'] = $sessionToken;
        }
        if (empty(
$event['AttemptLatency'])) {
            
$event['AttemptLatency'] = (int) (floor(microtime(true) * 1000) - $event['Timestamp']);
        }
        return 
$event;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

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