diff --git a/packages/manager/src/features/ObjectStorage/utilities.test.ts b/packages/manager/src/features/ObjectStorage/utilities.test.ts index 7db2198d8d3..346aa230a9e 100644 --- a/packages/manager/src/features/ObjectStorage/utilities.test.ts +++ b/packages/manager/src/features/ObjectStorage/utilities.test.ts @@ -47,13 +47,13 @@ const mockHostname = 'my-bucket.linodeobjects.com'; describe('Object Storage utilities', () => { describe('generateObjectUrl', () => { it('returns the correct URL', () => { - expect(generateObjectUrl(mockHostname, 'my-object')).toBe( - 'https://my-bucket.linodeobjects.com/my-object' + expect(generateObjectUrl(mockHostname, 'my-folder/my-object')).toBe( + 'https://my-bucket.linodeobjects.com/my-folder/my-object' ); }); it('encodes the URL for special characters', () => { - expect(generateObjectUrl(mockHostname, 'my-object?')).toBe( - 'https://my-bucket.linodeobjects.com/my-object%3F' + expect(generateObjectUrl(mockHostname, 'my-object!@#$%^&*()_+<>.,')).toBe( + 'https://my-bucket.linodeobjects.com/my-object!@#$%25%5E&*()_+%3C%3E.,' ); }); }); diff --git a/packages/manager/src/features/ObjectStorage/utilities.ts b/packages/manager/src/features/ObjectStorage/utilities.ts index bd0bf35b84c..2b3bf462d6b 100644 --- a/packages/manager/src/features/ObjectStorage/utilities.ts +++ b/packages/manager/src/features/ObjectStorage/utilities.ts @@ -6,7 +6,7 @@ import type { ObjectStorageEndpoint } from '@linode/api-v4/lib/object-storage'; import type { FormikProps } from 'formik'; export const generateObjectUrl = (hostname: string, objectName: string) => { - return `https://${hostname}/${encodeURIComponent(objectName)}`; + return `https://${hostname}/${encodeURI(objectName)}`; }; // Objects ending with a / and having a size of 0 are often used to represent