From be9acb7ef3333eb729c8810504a8ddfccae04a2c Mon Sep 17 00:00:00 2001 From: Josh Pinkney Date: Thu, 23 Jan 2025 10:40:09 -0500 Subject: [PATCH] fix(core): Could not fetch endpoints --- packages/core/src/extension.ts | 6 +++--- packages/core/src/shared/regions/regionProvider.ts | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/core/src/extension.ts b/packages/core/src/extension.ts index 897140c4249..4a57f96e8fe 100644 --- a/packages/core/src/extension.ts +++ b/packages/core/src/extension.ts @@ -190,12 +190,12 @@ export function registerGenericCommands(extensionContext: vscode.ExtensionContex * https://docs.aws.amazon.com/general/latest/gr/rande.html */ export function makeEndpointsProvider() { - let localManifestFetcher: ResourceFetcher - let remoteManifestFetcher: ResourceFetcher + let localManifestFetcher: ResourceFetcher + let remoteManifestFetcher: ResourceFetcher if (isWeb()) { localManifestFetcher = { get: async () => JSON.stringify(endpoints) } // Cannot use HttpResourceFetcher due to web mode breaking on import - remoteManifestFetcher = { get: async () => (await fetch(endpointsFileUrl)).text() } + remoteManifestFetcher = { get: async () => await fetch(endpointsFileUrl) } } else { localManifestFetcher = new FileResourceFetcher(globals.manifestPaths.endpoints) // HACK: HttpResourceFetcher breaks web mode when imported, so we use webpack.IgnorePlugin() diff --git a/packages/core/src/shared/regions/regionProvider.ts b/packages/core/src/shared/regions/regionProvider.ts index 88afc96b56e..00d13942196 100644 --- a/packages/core/src/shared/regions/regionProvider.ts +++ b/packages/core/src/shared/regions/regionProvider.ts @@ -196,8 +196,11 @@ export class RegionProvider { } } -export async function getEndpointsFromFetcher(fetcher: ResourceFetcher): Promise { - const endpointsJson = await fetcher.get() +export async function getEndpointsFromFetcher( + fetcher: ResourceFetcher | ResourceFetcher +): Promise { + const contents = await fetcher.get() + const endpointsJson = typeof contents === 'string' ? contents : await contents?.text() if (!endpointsJson) { throw new Error('Failed to get resource') }