Skip to content

Commit 0d4d991

Browse files
authored
Make signurl work with objects containing tildes
1 parent 4763bcf commit 0d4d991

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

  • storage/google/cloud/storage

storage/google/cloud/storage/blob.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ def public_url(self):
298298
return "{storage_base_url}/{bucket_name}/{quoted_name}".format(
299299
storage_base_url=_API_ACCESS_ENDPOINT,
300300
bucket_name=self.bucket.name,
301-
quoted_name=quote(self.name.encode("utf-8")),
301+
quoted_name=_quote(self.name),
302302
)
303303

304304
def generate_signed_url(
@@ -417,7 +417,7 @@ def generate_signed_url(
417417
raise ValueError("'version' must be either 'v2' or 'v4'")
418418

419419
resource = "/{bucket_name}/{quoted_name}".format(
420-
bucket_name=self.bucket.name, quoted_name=quote(self.name.encode("utf-8"))
420+
bucket_name=self.bucket.name, quoted_name=_quote(self.name)
421421
)
422422

423423
if credentials is None:
@@ -1998,7 +1998,7 @@ def _quote(value):
19981998
:returns: The encoded value (bytes in Python 2, unicode in Python 3).
19991999
"""
20002000
value = _to_bytes(value, encoding="utf-8")
2001-
return quote(value, safe="")
2001+
return quote(value, safe=b"/~")
20022002

20032003

20042004
def _maybe_rewind(stream, rewind=False):

0 commit comments

Comments
 (0)