ok
Direktori : /home2/selectio/www/fms-worksuite/vendor/aws/aws-sdk-php/src/Endpoint/ |
Current File : /home2/selectio/www/fms-worksuite/vendor/aws/aws-sdk-php/src/Endpoint/PatternEndpointProvider.php |
<?php namespace Aws\Endpoint; /** * Provides endpoints based on an endpoint pattern configuration array. */ class PatternEndpointProvider { /** @var array */ private $patterns; /** * @param array $patterns Hash of endpoint patterns mapping to endpoint * configurations. */ public function __construct(array $patterns) { $this->patterns = $patterns; } public function __invoke(array $args = []) { $service = isset($args['service']) ? $args['service'] : ''; $region = isset($args['region']) ? $args['region'] : ''; $keys = ["{$region}/{$service}", "{$region}/*", "*/{$service}", "*/*"]; foreach ($keys as $key) { if (isset($this->patterns[$key])) { return $this->expand( $this->patterns[$key], isset($args['scheme']) ? $args['scheme'] : 'https', $service, $region ); } } return null; } private function expand(array $config, $scheme, $service, $region) { $config['endpoint'] = $scheme . '://' . strtr($config['endpoint'], [ '{service}' => $service, '{region}' => $region ]); return $config; } }