From 67fed458ecdb5d265006171c868b2a9a2e1ced64 Mon Sep 17 00:00:00 2001 From: Siddharth Srivastava Date: Tue, 9 Dec 2025 20:01:05 +0000 Subject: [PATCH] fix(ec2-metadata-service): preserve statusCode when rethrowing errors --- packages/ec2-metadata-service/src/MetadataService.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/ec2-metadata-service/src/MetadataService.ts b/packages/ec2-metadata-service/src/MetadataService.ts index ca27dcf2a1626..d73808f020061 100644 --- a/packages/ec2-metadata-service/src/MetadataService.ts +++ b/packages/ec2-metadata-service/src/MetadataService.ts @@ -76,10 +76,16 @@ export class MetadataService { // handle response.body as stream return sdkStreamMixin(response.body).transformToString(); } else { - throw new Error(`Request failed with status code ${response.statusCode}`); + throw Object.assign(new Error(`Request failed with status code ${response.statusCode}`), { + statusCode: response.statusCode, + }); } } catch (error) { - throw new Error(`Error making request to the metadata service: ${error}`); + const wrappedError = new Error(`Error making request to the metadata service: ${error}`); + if ((error as any).statusCode !== undefined) { + (wrappedError as any).statusCode = (error as any).statusCode; + } + throw wrappedError; } }