Skip to content

Commit 34cd2ab

Browse files
committed
Add redirect handler for httpGetSilently
(cherry picked from commit 40d866f)
1 parent 315f42d commit 34cd2ab

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

src/utils.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,25 @@ export async function httpsGetSilently(options: https.RequestOptions): Promise<s
4141
let data: string = '';
4242
https
4343
.get(opts, (res) => {
44-
res.on('data', (d) => (data += d));
45-
res.on('error', reject);
46-
res.on('close', () => {
47-
resolve(data);
48-
});
44+
if (res.statusCode === 301 || res.statusCode === 302) {
45+
if (!res.headers.location) {
46+
console.error('301/302 without a location header');
47+
return;
48+
}
49+
https.get(res.headers.location, (resAfterRedirect) => {
50+
resAfterRedirect.on('data', (d) => (data += d));
51+
resAfterRedirect.on('error', reject);
52+
resAfterRedirect.on('close', () => {
53+
resolve(data);
54+
});
55+
});
56+
} else {
57+
res.on('data', (d) => (data += d));
58+
res.on('error', reject);
59+
res.on('close', () => {
60+
resolve(data);
61+
});
62+
}
4963
})
5064
.on('error', reject);
5165
});

0 commit comments

Comments
 (0)