OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
google
/
cloud-core
/
src
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:33:48 AM
rwxr-xr-x
📄
AnonymousCredentials.php
2.5 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
ApiHelperTrait.php
7.42 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
ArrayTrait.php
3.58 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Batch
-
08/12/2024 10:33:46 AM
rwxr-xr-x
📄
Blob.php
2.11 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
CallTrait.php
1.12 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
ClientTrait.php
8.19 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Compute
-
08/12/2024 10:36:16 AM
rwxr-xr-x
📄
ConcurrencyControlTrait.php
1.4 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
DebugInfoTrait.php
1.33 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
DetectProjectIdTrait.php
3.09 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
Duration.php
2.2 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
EmulatorTrait.php
2.73 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Exception
-
08/12/2024 10:33:47 AM
rwxr-xr-x
📄
ExponentialBackoff.php
4.86 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
GeoPoint.php
6.21 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
GrpcRequestWrapper.php
4.76 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
GrpcTrait.php
9 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Iam
-
08/12/2024 10:33:47 AM
rwxr-xr-x
📄
InsecureCredentialsWrapper.php
1018 bytes
08/12/2024 10:33:12 AM
rw-r--r--
📄
Int64.php
1.77 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Iterator
-
08/12/2024 10:33:47 AM
rwxr-xr-x
📄
JsonTrait.php
2.21 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Lock
-
08/12/2024 10:33:47 AM
rwxr-xr-x
📁
Logger
-
08/12/2024 10:33:47 AM
rwxr-xr-x
📁
LongRunning
-
08/12/2024 10:33:48 AM
rwxr-xr-x
📄
PhpArray.php
7.45 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Report
-
08/12/2024 10:33:48 AM
rwxr-xr-x
📄
RequestBuilder.php
4.89 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
RequestHandler.php
4.33 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
RequestProcessorTrait.php
4.62 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
RequestWrapper.php
21.09 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
RequestWrapperTrait.php
7.3 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
RestTrait.php
4.87 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
Retry.php
3.45 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
RetryDeciderTrait.php
2.9 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
ServiceBuilder.php
16.89 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
SysvTrait.php
1.88 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Testing
-
08/12/2024 10:34:55 AM
rwxr-xr-x
📄
TimeTrait.php
4.48 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
Timestamp.php
4.11 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
TimestampTrait.php
1.61 KB
08/12/2024 10:33:12 AM
rw-r--r--
📁
Upload
-
08/12/2024 10:33:48 AM
rwxr-xr-x
📄
UriTrait.php
1.85 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
ValidateTrait.php
2.34 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
ValueMapperTrait.php
1.79 KB
08/12/2024 10:33:12 AM
rw-r--r--
📄
WhitelistTrait.php
1.16 KB
08/12/2024 10:33:12 AM
rw-r--r--
Editing: GrpcRequestWrapper.php
Close
<?php /** * Copyright 2015 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 Google\Auth\HttpHandler\HttpHandlerFactory; use Google\Cloud\Core\Exception; use Google\ApiCore\ApiException; use Google\ApiCore\Serializer; use Google\Rpc\Code; /** * The GrpcRequestWrapper is responsible for delivering gRPC requests. */ class GrpcRequestWrapper { use RequestWrapperTrait; use RequestProcessorTrait; /** * @var callable A handler used to deliver Psr7 requests specifically for * authentication. */ private $authHttpHandler; /** * @var Serializer A serializer used to encode responses. */ private $serializer; /** * @var array gRPC specific configuration options passed off to the ApiCore * library. */ private $grpcOptions; /** * @var array gRPC retry codes. */ private $grpcRetryCodes = [ Code::UNKNOWN, Code::INTERNAL, Code::UNAVAILABLE, Code::DATA_LOSS ]; /** * @param array $config [optional] { * Configuration options. Please see * {@see \Google\Cloud\Core\RequestWrapperTrait::setCommonDefaults()} for * the other available options. * * @type callable $authHttpHandler A handler used to deliver Psr7 * requests specifically for authentication. * @type Serializer $serializer A serializer used to encode responses. * @type array $grpcOptions gRPC specific configuration options passed * off to the ApiCore library. * } */ public function __construct(array $config = []) { $this->setCommonDefaults($config); $config += [ 'authHttpHandler' => null, 'serializer' => new Serializer, 'grpcOptions' => [] ]; $this->authHttpHandler = $config['authHttpHandler'] ?: HttpHandlerFactory::build(); $this->serializer = $config['serializer']; $this->grpcOptions = $config['grpcOptions']; } /** * Deliver the request. * * @param callable $request The request to execute. * @param array $args The arguments for the request. * @param array $options [optional] { * Request options. * * @type float $requestTimeout Seconds to wait before timing out the * request. **Defaults to** `60`. * @type int $retries Number of retries for a failed request. * **Defaults to** `3`. * @type callable $grpcRetryFunction Sets the conditions for whether or * not a request should attempt to retry. Function signature should * match: `function (\Exception $ex) : bool`. * @type array $grpcOptions gRPC specific configuration options. * } * @return array * @throws Exception\ServiceException */ public function send(callable $request, array $args, array $options = []) { $retries = $options['retries'] ?? $this->retries; $retryFunction = $options['grpcRetryFunction'] ?? function (\Exception $ex) { $statusCode = $ex->getCode(); return in_array($statusCode, $this->grpcRetryCodes); }; $grpcOptions = $options['grpcOptions'] ?? $this->grpcOptions; $timeout = $options['requestTimeout'] ?? $this->requestTimeout; $backoff = new ExponentialBackoff($retries, $retryFunction); if (!isset($grpcOptions['retrySettings'])) { $retrySettings = [ 'retriesEnabled' => false ]; if ($timeout) { $retrySettings['noRetriesRpcTimeoutMillis'] = $timeout * 1000; } $grpcOptions['retrySettings'] = $retrySettings; } $optionalArgs = &$args[count($args) - 1]; $optionalArgs += $grpcOptions; try { return $this->handleResponse($backoff->execute($request, $args)); } catch (\Exception $ex) { if ($ex instanceof ApiException) { throw $this->convertToGoogleException($ex); } throw $ex; } } }