From e7a710b7f42f04690c740914f7e147c5dd4bb930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Eriksson?= Date: Fri, 29 Nov 2024 10:59:45 +0100 Subject: [PATCH] Remove key prefix from public url --- runtimes/core/src/objects/gcs/bucket.rs | 2 +- runtimes/core/src/objects/mod.rs | 7 ++----- runtimes/core/src/objects/s3/bucket.rs | 2 +- runtimes/go/storage/objects/bucket.go | 5 ----- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/runtimes/core/src/objects/gcs/bucket.rs b/runtimes/core/src/objects/gcs/bucket.rs index 58d129e66f..ba8c3a8fce 100644 --- a/runtimes/core/src/objects/gcs/bucket.rs +++ b/runtimes/core/src/objects/gcs/bucket.rs @@ -363,7 +363,7 @@ impl objects::ObjectImpl for Object { return Err(PublicUrlError::PrivateBucket); }; - let url = objects::public_url(base_url, self.bkt.key_prefix.as_deref(), &self.key); + let url = objects::public_url(base_url, &self.key); Ok(url) } } diff --git a/runtimes/core/src/objects/mod.rs b/runtimes/core/src/objects/mod.rs index 4aab5601c0..b6d65282b4 100644 --- a/runtimes/core/src/objects/mod.rs +++ b/runtimes/core/src/objects/mod.rs @@ -493,16 +493,13 @@ fn escape_path(s: &str) -> Cow<'_, str> { percent_encoding::percent_encode(s.as_bytes(), PATH).into() } -/// Computes the public url given a base url, optional key prefix, and object name. -fn public_url(base_url: String, key_prefix: Option<&str>, name: &str) -> String { +/// Computes the public url given a base url and object name. +fn public_url(base_url: String, name: &str) -> String { let mut url = base_url; if !url.ends_with('/') { url.push('/'); } - if let Some(key_prefix) = key_prefix { - url.push_str(&escape_path(key_prefix)); - } url.push_str(&escape_path(name)); url } diff --git a/runtimes/core/src/objects/s3/bucket.rs b/runtimes/core/src/objects/s3/bucket.rs index 260b7b7832..9030c8db82 100644 --- a/runtimes/core/src/objects/s3/bucket.rs +++ b/runtimes/core/src/objects/s3/bucket.rs @@ -375,7 +375,7 @@ impl objects::ObjectImpl for Object { return Err(PublicUrlError::PrivateBucket); }; - let url = objects::public_url(base_url, self.bkt.key_prefix.as_deref(), &self.name); + let url = objects::public_url(base_url, &self.name); Ok(url) } } diff --git a/runtimes/go/storage/objects/bucket.go b/runtimes/go/storage/objects/bucket.go index 92ddc98a45..6fa44d8196 100644 --- a/runtimes/go/storage/objects/bucket.go +++ b/runtimes/go/storage/objects/bucket.go @@ -143,11 +143,6 @@ func (b *Bucket) PublicURL(object string, options ...PublicURLOption) *url.URL { if !strings.HasSuffix(u.Path, "/") { u.Path += "/" } - - if b.runtimeCfg.KeyPrefix != "" { - u.Path += escape(b.runtimeCfg.KeyPrefix, encodePath) - } - u.Path += escape(object, encodePath) return &u