From 99e489f8b80541167ae195dfc3bfbd90e20b1f9b Mon Sep 17 00:00:00 2001 From: TheBeastLT Date: Tue, 17 Mar 2020 18:50:21 +0100 Subject: [PATCH] [addon] add cache control for redirect --- addon/moch/realdebrid.js | 4 ++-- addon/serverless.js | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/addon/moch/realdebrid.js b/addon/moch/realdebrid.js index 2d064bd..213681f 100644 --- a/addon/moch/realdebrid.js +++ b/addon/moch/realdebrid.js @@ -44,11 +44,11 @@ async function _unrestrict(apiKey, infoHash, fileIndex) { console.log(`Retrieved torrentId: ${torrentId}`); if (torrentId) { const info = await RD.torrents.info(torrentId); - const downloadFile = info.files.find(file => file.id === fileIndex + 1); + const targetFile = info.files.find(file => file.id === fileIndex + 1); const selectedFiles = info.files.filter(file => file.selected); const fileLink = info.links.length === 1 ? info.links[0] - : info.links[selectedFiles.indexOf(downloadFile)]; + : info.links[selectedFiles.indexOf(targetFile)]; return _unrestrictLink(RD, fileLink); } return Promise.reject("Failed adding torrent"); diff --git a/addon/serverless.js b/addon/serverless.js index 26130b7..8b59a85 100644 --- a/addon/serverless.js +++ b/addon/serverless.js @@ -69,13 +69,16 @@ router.get('/:configuration/:resource/:type/:id.json', (req, res, next) => { }); }); -router.get('/realdebrid/:apiKey/:infoHash/:fileIndex?', (req, res) => { +router.get('/realdebrid/:apiKey/:infoHash/:fileIndex?.json', (req, res) => { const { apiKey, infoHash, fileIndex } = req.params; console.time(infoHash); realDebrid.unrestrict(apiKey, infoHash, isNaN(fileIndex) ? undefined : parseInt(fileIndex)) .then(url => { console.timeEnd(infoHash); - res.writeHead(301, { Location: url }); + res.writeHead(301, { + 'Location': url, + 'Cache-Control': 'max-age=7200, public' + }); res.end(); }) .catch(error => {