From 7ddab073d0a101e3c7b580f18d31ea8ed31b0aa3 Mon Sep 17 00:00:00 2001 From: Dimitrios Vasilas Date: Mon, 16 Mar 2026 10:45:50 +0200 Subject: [PATCH 1/2] CLDSRV-870: Add rate limiting operations to access log mapping Rate limit API methods (put/get/delete) were logged as REST.*.UNKNOWN because they were missing from the methodToResType mapping. --- lib/utilities/serverAccessLogger.js | 3 +++ tests/unit/utils/serverAccessLogger.js | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lib/utilities/serverAccessLogger.js b/lib/utilities/serverAccessLogger.js index 3ce4464ca6..4bd5fbd6d1 100644 --- a/lib/utilities/serverAccessLogger.js +++ b/lib/utilities/serverAccessLogger.js @@ -251,6 +251,9 @@ const methodToResType = Object.freeze({ 'bucketPutEncryption': 'ENCRYPTION', 'bucketPutLogging': 'LOGGING_STATUS', 'bucketGetLogging': 'LOGGING_STATUS', + 'bucketPutRateLimit': 'RATELIMIT', + 'bucketGetRateLimit': 'RATELIMIT', + 'bucketDeleteRateLimit': 'RATELIMIT', 'corsPreflight': 'PREFLIGHT', 'completeMultipartUpload': 'UPLOAD', 'initiateMultipartUpload': 'UPLOADS', diff --git a/tests/unit/utils/serverAccessLogger.js b/tests/unit/utils/serverAccessLogger.js index fb0d356c73..e41648d565 100644 --- a/tests/unit/utils/serverAccessLogger.js +++ b/tests/unit/utils/serverAccessLogger.js @@ -185,6 +185,24 @@ describe('serverAccessLogger utility functions', () => { assert.strictEqual(result, 'REST.POST.UPLOAD'); }); + it('should return REST.PUT.RATELIMIT for bucketPutRateLimit', () => { + const req = { method: 'PUT', apiMethod: 'bucketPutRateLimit' }; + const result = getOperation(req); + assert.strictEqual(result, 'REST.PUT.RATELIMIT'); + }); + + it('should return REST.GET.RATELIMIT for bucketGetRateLimit', () => { + const req = { method: 'GET', apiMethod: 'bucketGetRateLimit' }; + const result = getOperation(req); + assert.strictEqual(result, 'REST.GET.RATELIMIT'); + }); + + it('should return REST.DELETE.RATELIMIT for bucketDeleteRateLimit', () => { + const req = { method: 'DELETE', apiMethod: 'bucketDeleteRateLimit' }; + const result = getOperation(req); + assert.strictEqual(result, 'REST.DELETE.RATELIMIT'); + }); + it('should return REST.method.UNKNOWN for unknown apiMethod', () => { const req = { method: 'GET', apiMethod: 'unknownMethod' }; const result = getOperation(req); From cc7c87f5bdcd3e6d0d156c0c58f6e02613770f19 Mon Sep 17 00:00:00 2001 From: Dimitrios Vasilas Date: Mon, 16 Mar 2026 10:49:15 +0200 Subject: [PATCH 2/2] CLDSRV-870: Bump version to 9.2.31 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9f9a814044..a5fa022af7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@zenko/cloudserver", - "version": "9.2.30", + "version": "9.2.31", "description": "Zenko CloudServer, an open-source Node.js implementation of a server handling the Amazon S3 protocol", "main": "index.js", "engines": {