diff options
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/Token/ParsesIniTrait.php')
-rw-r--r-- | vendor/aws/aws-sdk-php/src/Token/ParsesIniTrait.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/Token/ParsesIniTrait.php b/vendor/aws/aws-sdk-php/src/Token/ParsesIniTrait.php new file mode 100644 index 0000000..64afdb5 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Token/ParsesIniTrait.php @@ -0,0 +1,44 @@ +<?php +namespace Aws\Token; + +trait ParsesIniTrait +{ + /** + * Gets profiles from specified $filename, or default ini files. + */ + private static function loadProfiles($filename) + { + $profileData = \Aws\parse_ini_file($filename, true, INI_SCANNER_RAW); + + $configFilename = self::getHomeDir() . '/.aws/config'; + $configProfileData = \Aws\parse_ini_file($configFilename, true, INI_SCANNER_RAW); + foreach ($configProfileData as $name => $profile) { + // standardize config profile names + $name = str_replace('profile ', '', $name); + if (!isset($profileData[$name])) { + $profileData[$name] = $profile; + } + } + + return $profileData; + } + + /** + * Gets the environment's HOME directory if available. + * + * @return null|string + */ + private static function getHomeDir() + { + // On Linux/Unix-like systems, use the HOME environment variable + if ($homeDir = getenv('HOME')) { + return $homeDir; + } + + // Get the HOMEDRIVE and HOMEPATH values for Windows hosts + $homeDrive = getenv('HOMEDRIVE'); + $homePath = getenv('HOMEPATH'); + + return ($homeDrive && $homePath) ? $homeDrive . $homePath : null; + } +} |