From c62a332c7f1a13d78ece82d45342471aa851254e Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Wed, 28 Jan 2026 10:36:38 -0800 Subject: [PATCH] s3tables: align ARN formatting and optimize resource handling - Update generateTableARN to match AWS S3 Tables specification - Move defer r.Body.Close() to follow standard Go patterns - Remove unused generateNamespaceARN helper --- weed/s3api/s3tables/handler.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/weed/s3api/s3tables/handler.go b/weed/s3api/s3tables/handler.go index 88b5d9148..6dcb1434a 100644 --- a/weed/s3api/s3tables/handler.go +++ b/weed/s3api/s3tables/handler.go @@ -156,10 +156,10 @@ func (h *S3TablesHandler) getPrincipalFromRequest(r *http.Request) string { func (h *S3TablesHandler) readRequestBody(r *http.Request, v interface{}) error { body, err := io.ReadAll(r.Body) + defer r.Body.Close() if err != nil { return fmt.Errorf("failed to read request body: %w", err) } - defer r.Body.Close() if len(body) == 0 { return nil @@ -202,10 +202,6 @@ func (h *S3TablesHandler) generateTableBucketARN(bucketName string) string { return fmt.Sprintf("arn:aws:s3tables:%s:%s:bucket/%s", h.region, h.accountID, bucketName) } -func (h *S3TablesHandler) generateNamespaceARN(bucketName, namespace string) string { - return fmt.Sprintf("arn:aws:s3tables:%s:%s:bucket/%s/namespace/%s", h.region, h.accountID, bucketName, namespace) -} - -func (h *S3TablesHandler) generateTableARN(bucketName, namespace, tableName string) string { - return fmt.Sprintf("arn:aws:s3tables:%s:%s:bucket/%s/table/%s/%s", h.region, h.accountID, bucketName, namespace, tableName) +func (h *S3TablesHandler) generateTableARN(bucketName, tableID string) string { + return fmt.Sprintf("arn:aws:s3tables:%s:%s:bucket/%s/table/%s", h.region, h.accountID, bucketName, tableID) }