From d54655c6b00f6c835536bd30e8eec2b2fb679eb9 Mon Sep 17 00:00:00 2001 From: dumbmoron <136796770+dumbmoron@users.noreply.github.com> Date: Sun, 20 Aug 2023 15:00:03 +0000 Subject: [PATCH] passthrough content-type; content-length --- src/modules/stream/types.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/stream/types.js b/src/modules/stream/types.js index a0dc68f..f3bb76b 100644 --- a/src/modules/stream/types.js +++ b/src/modules/stream/types.js @@ -15,9 +15,13 @@ export async function streamDefault(streamInfo, res) { let regFilename = !streamInfo.mute ? streamInfo.filename : `${streamInfo.filename.split('.')[0]}_mute.${format}`; res.setHeader('Content-disposition', `attachment; filename="${streamInfo.isAudioOnly ? `${streamInfo.filename}.${streamInfo.audioFormat}` : regFilename}"`); - const { body: stream } = await request(streamInfo.urls, { + const { body: stream, headers } = await request(streamInfo.urls, { headers: { 'user-agent': genericUserAgent } }); + + res.setHeader('content-type', headers['content-type']); + res.setHeader('content-length', headers['content-length']); + stream.pipe(res).on('error', () => fail(res)); stream.on('error', () => fail(res)); stream.on('aborted', () => fail(res));