404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.145.85.212: ~ $
<?php
/*
 * Copyright 2016 Google LLC
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *     * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 * copyright notice, this list of conditions and the following disclaimer
 * in the documentation and/or other materials provided with the
 * distribution.
 *     * Neither the name of Google Inc. nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

namespace Google\ApiCore;

/**
 * Class containing functions used to build the Agent header.
 */
class AgentHeader
{
    const AGENT_HEADER_KEY = 'x-goog-api-client';
    const UNKNOWN_VERSION = '';

    /**
     * @param array $headerInfo {
     *     Optional.
     *
     *     @type string $phpVersion the PHP version.
     *     @type string $libName the name of the client application.
     *     @type string $libVersion the version of the client application.
     *     @type string $gapicVersion the code generator version of the GAPIC library.
     *     @type string $apiCoreVersion the ApiCore version.
     *     @type string $grpcVersion the gRPC version.
     *     @type string $restVersion the REST transport version (typically same as the
     *           ApiCore version).
     * }
     * @return array Agent header array
     */
    public static function buildAgentHeader($headerInfo)
    {
        $metricsHeaders = [];

        // The ordering of the headers is important. We use the fact that $metricsHeaders is an
        // ordered dict. The desired ordering is:
        //      - phpVersion (gl-php/)
        //      - clientName (e.g. gccl/)
        //      - gapicVersion (gapic/)
        //      - apiCoreVersion (gax/)
        //      - grpcVersion (grpc/)
        //      - restVersion (rest/)

        $phpVersion = isset($headerInfo['phpVersion'])
            ? $headerInfo['phpVersion']
            : phpversion();
        $metricsHeaders['gl-php'] = $phpVersion;

        if (isset($headerInfo['libName'])) {
            $clientVersion = isset($headerInfo['libVersion'])
                ? $headerInfo['libVersion']
                : self::UNKNOWN_VERSION;
            $metricsHeaders[$headerInfo['libName']] = $clientVersion;
        }

        $codeGenVersion = isset($headerInfo['gapicVersion'])
            ? $headerInfo['gapicVersion']
            : self::UNKNOWN_VERSION;
        $metricsHeaders['gapic'] = $codeGenVersion;

        $apiCoreVersion = isset($headerInfo['apiCoreVersion'])
            ? $headerInfo['apiCoreVersion']
            : Version::getApiCoreVersion();
        $metricsHeaders['gax'] = $apiCoreVersion;

        // Context on library type identification (between gRPC+REST and REST-only):
        // This uses the gRPC extension's version if 'grpcVersion' is not set, so we
        // cannot use the presence of 'grpcVersion' to determine whether or not a library
        // is gRPC+REST or REST-only. However, we cannot use the extension's presence
        // either, since some clients may have the extension installed but opt to use a
        // REST-only library (e.g. GCE).
        // TODO: Should we stop sending empty gRPC headers?
        $grpcVersion = isset($headerInfo['grpcVersion'])
            ? $headerInfo['grpcVersion']
            : phpversion('grpc');
        $metricsHeaders['grpc'] = $grpcVersion;

        $restVersion = isset($headerInfo['restVersion'])
            ? $headerInfo['restVersion']
            : $apiCoreVersion;
        $metricsHeaders['rest'] = $restVersion;

        $metricsList = [];
        foreach ($metricsHeaders as $key => $value) {
            $metricsList[] = $key . "/" . $value;
        }
        return [self::AGENT_HEADER_KEY => [implode(" ", $metricsList)]];
    }

    /**
     * Reads the gapic version string from a VERSION file. In order to determine the file
     * location, this method follows this procedure:
     * - accepts a class name $callingClass
     * - identifies the file defining that class
     * - searches up the directory structure for the 'src' directory
     * - looks in the directory above 'src' for a file named VERSION
     *
     * @param string $callingClass
     * @return string the gapic version
     * @throws \ReflectionException
     */
    public static function readGapicVersionFromFile($callingClass)
    {
        $callingClassFile = (new \ReflectionClass($callingClass))->getFileName();
        $versionFile = substr(
            $callingClassFile,
            0,
            strrpos($callingClassFile, DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR)
        ) . DIRECTORY_SEPARATOR . 'VERSION';

        return Version::readVersionFile($versionFile);
    }
}

Filemanager

Name Type Size Permission Actions
LongRunning Folder 0755
Middleware Folder 0755
ResourceTemplate Folder 0755
Testing Folder 0755
Transport Folder 0755
AgentHeader.php File 5.65 KB 0755
ApiException.php File 5.26 KB 0755
ApiStatus.php File 6.48 KB 0755
ArrayTrait.php File 3.6 KB 0755
BidiStream.php File 5.79 KB 0755
Call.php File 3.33 KB 0755
ClientStream.php File 3.32 KB 0755
CredentialsWrapper.php File 11.16 KB 0755
FixedSizeCollection.php File 6.22 KB 0755
GPBLabel.php File 1.82 KB 0755
GPBType.php File 2.19 KB 0755
GapicClientTrait.php File 30.09 KB 0755
GrpcSupportTrait.php File 2.23 KB 0755
OperationResponse.php File 18.21 KB 0755
Page.php File 9.16 KB 0755
PageStreamingDescriptor.php File 6.14 KB 0755
PagedListResponse.php File 6.74 KB 0755
PathTemplate.php File 4.03 KB 0755
PollingTrait.php File 3.62 KB 0755
RequestBuilder.php File 8.32 KB 0755
RequestParamsHeaderDescriptor.php File 2.57 KB 0755
RetrySettings.php File 19.97 KB 0755
Serializer.php File 16.88 KB 0755
ServerStream.php File 3.29 KB 0755
ServiceAddressTrait.php File 2.46 KB 0755
UriTrait.php File 2.33 KB 0755
ValidationException.php File 1.7 KB 0755
ValidationTrait.php File 2.88 KB 0755
Version.php File 2.42 KB 0755