From ab9428a9c40c88c553c84af620c6c921c7dee6d0 Mon Sep 17 00:00:00 2001 From: Florent Beauchamp Date: Fri, 30 Sep 2022 16:49:59 +0200 Subject: [PATCH] fix(xo-remote-parser): correctly handle empty S3 region Introduced by c219ea0 --- CHANGELOG.unreleased.md | 1 + packages/xo-remote-parser/src/index.js | 2 +- packages/xo-remote-parser/src/index.spec.js | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index a5f0bb906..7ad533882 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -23,6 +23,7 @@ +- xo-remote-parser patch - xo-server-transport-nagios patch diff --git a/packages/xo-remote-parser/src/index.js b/packages/xo-remote-parser/src/index.js index 1effd97fc..1c91ec9fd 100644 --- a/packages/xo-remote-parser/src/index.js +++ b/packages/xo-remote-parser/src/index.js @@ -71,7 +71,7 @@ export const parse = string => { const parsed = urlParser(string, false) object.protocol = parsed.protocol === 's3:' ? 'https' : 'http' object.type = 's3' - object.region = parsed.hash.length === 0 ? undefined : parsed.hash.slice(1) // remove '#' + object.region = parsed.hash.length < 2 ? undefined : parsed.hash.slice(1) // remove '#' object.host = parsed.host object.path = parsed.pathname object.username = parsed.username diff --git a/packages/xo-remote-parser/src/index.spec.js b/packages/xo-remote-parser/src/index.spec.js index d803ed60b..1687abdac 100644 --- a/packages/xo-remote-parser/src/index.spec.js +++ b/packages/xo-remote-parser/src/index.spec.js @@ -171,6 +171,18 @@ const parseData = deepFreeze({ allowUnauthorized: true, }, }, + 's3 with empty region ': { + string: 's3://AKIAS:XSuBupZ0mJlu%2B@s3-us-west-2.amazonaws.com/test-bucket/dir#', + object: { + type: 's3', + protocol: 'https', + host: 's3-us-west-2.amazonaws.com', + path: '/test-bucket/dir', + username: 'AKIAS', + password: 'XSuBupZ0mJlu+', + region: undefined, + }, + }, }) const formatData = deepFreeze({