Skip to content

Commit

Permalink
Add GCloud parametersas kwargs for storage.url
Browse files Browse the repository at this point in the history
  • Loading branch information
fao89 committed Oct 28, 2022
1 parent f0df471 commit 1cf3033
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions storages/backends/gcloud.py
Expand Up @@ -297,7 +297,7 @@ def get_created_time(self, name):
created = blob.time_created
return created if setting('USE_TZ') else timezone.make_naive(created)

def url(self, name):
def url(self, name, parameters=None):
"""
Return public url or a signed url for the Blob.
This DOES NOT check for existance of Blob - that makes codes too slow
Expand All @@ -309,6 +309,8 @@ def url(self, name):
no_signed_url = (
blob_params.get('acl', self.default_acl) == 'publicRead' or not self.querystring_auth)

params = parameters or {}

if not self.custom_endpoint and no_signed_url:
return blob.public_url
elif no_signed_url:
Expand All @@ -318,13 +320,14 @@ def url(self, name):
)
elif not self.custom_endpoint:
return blob.generate_signed_url(
expiration=self.expiration, version="v4"
expiration=self.expiration, version="v4", **params
)
else:
return blob.generate_signed_url(
bucket_bound_hostname=self.custom_endpoint,
expiration=self.expiration,
version="v4",
**params
)

def get_available_name(self, name, max_length=None):
Expand Down

0 comments on commit 1cf3033

Please sign in to comment.