private function S3::calculateUrlPrefix in Flysystem - S3 2.0.x
Same name and namespace in other branches
- 8 src/Flysystem/S3.php \Drupal\flysystem_s3\Flysystem\S3::calculateUrlPrefix()
Calculates the URL prefix.
Parameters
\League\Flysystem\Config $config: The configuration.
Return value
string The URL prefix in the form protocol://cname[/bucket][/prefix].
1 call to S3::calculateUrlPrefix()
- S3::__construct in src/
Flysystem/ S3.php - Constructs an S3 object.
File
- src/
Flysystem/ S3.php, line 241
Class
- S3
- Drupal plugin for the "S3" Flysystem adapter.
Namespace
Drupal\flysystem_s3\FlysystemCode
private function calculateUrlPrefix(Config $config) {
$protocol = $config
->get('protocol', 'http');
$cname = (string) $config
->get('cname');
$prefix = (string) $config
->get('prefix', '');
$prefix = $prefix === '' ? '' : '/' . UrlHelper::encodePath($prefix);
if ($cname !== '' && $config
->get('cname_is_bucket', TRUE)) {
return $protocol . '://' . $cname . $prefix;
}
$bucket = (string) $config
->get('bucket', '');
$bucket = $bucket === '' ? '' : '/' . UrlHelper::encodePath($bucket);
// No custom CNAME was provided. Generate the default S3 one.
if ($cname === '') {
$cname = 's3-' . $config
->get('region', 'us-east-1') . '.amazonaws.com';
}
// us-east-1 doesn't follow the consistent mapping.
if ($cname === 's3-us-east-1.amazonaws.com') {
$cname = 's3.amazonaws.com';
}
return $protocol . '://' . $cname . $bucket . $prefix;
}