From f6414210facf079b1965aa6593bae9a4ddab323b Mon Sep 17 00:00:00 2001 From: Gwen Lg Date: Wed, 28 Jan 2026 11:07:46 +0100 Subject: [PATCH] refactor: rework bucket value get, relateted to or_func_call this avoid bucket_website_config value compute if not needed --- src/garage/cli/remote/bucket.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/garage/cli/remote/bucket.rs b/src/garage/cli/remote/bucket.rs index 692ded63..aa5fa5ea 100644 --- a/src/garage/cli/remote/bucket.rs +++ b/src/garage/cli/remote/bucket.rs @@ -295,13 +295,20 @@ impl Cli { )); } + // Destructure becket info to allow separate use of `id` and `website_config` + let GetBucketInfoResponse { + id: bucket_id, + website_config: bucket_website_config, + .. + } = bucket; + let wa = if opt.allow { UpdateBucketWebsiteAccess { enabled: true, index_document: Some(opt.index_document.clone()), error_document: opt .error_document - .or(bucket.website_config.and_then(|x| x.error_document.clone())), + .or_else(|| bucket_website_config.and_then(|x| x.error_document.clone())), } } else { UpdateBucketWebsiteAccess { @@ -313,7 +320,7 @@ impl Cli { let res = self .api_request(UpdateBucketRequest { - id: bucket.id, + id: bucket_id, body: UpdateBucketRequestBody { website_access: Some(wa), quotas: None,