diff --git a/config/config.sample.php b/config/config.sample.php index 3208a25514..7ba3977fe3 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -958,6 +958,8 @@ $CONFIG = array( // dev-/trystack uses swift by default, the lib defaults to 'cloudFiles' // if omitted 'serviceName' => 'swift', + // The Interface / url Type, optional + 'urlType' => 'internal' ), ), diff --git a/lib/private/files/objectstore/swift.php b/lib/private/files/objectstore/swift.php index 89ef40360a..50bb0d9adf 100644 --- a/lib/private/files/objectstore/swift.php +++ b/lib/private/files/objectstore/swift.php @@ -73,11 +73,16 @@ class Swift implements IObjectStore { // the OpenCloud client library will default to 'cloudFiles' if $serviceName is null $serviceName = null; - if ($this->params['serviceName']) { + if (isset($this->params['serviceName'])) { $serviceName = $this->params['serviceName']; } - $this->objectStoreService = $this->client->objectStoreService($serviceName, $this->params['region']); + // the OpenCloud client library will default to 'publicURL' if $urlType is null + $urlType = null; + if (isset($this->params['urlType'])) { + $urlType = $this->params['urlType']; + } + $this->objectStoreService = $this->client->objectStoreService($serviceName, $this->params['region'], $urlType); try { $this->container = $this->objectStoreService->getContainer($this->params['container']);