Nexstream / src /utils /cookie.util.js
ejjays's picture
deploy: initial backend migration to Hugging Face
9e699db
Raw
History Blame Contribute Delete
1.17 kB
const fs = require('fs');
const path = require('path');
const https = require('https');
let lastDownloadTime = 0;
const CACHE_DURATION = 30 * 60 * 1000; // 30 minutes
async function downloadCookies() {
const cookieUrl = process.env.COOKIES_URL;
if (!cookieUrl) return null;
const cookiesPath = path.join(__dirname, '../../temp_cookies.txt');
const now = Date.now();
// Return cached path if valid
if (fs.existsSync(cookiesPath) && (now - lastDownloadTime < CACHE_DURATION)) {
return cookiesPath;
}
return new Promise((resolve) => {
const file = fs.createWriteStream(cookiesPath);
https.get(cookieUrl, (response) => {
response.pipe(file);
file.on('finish', () => {
file.close();
lastDownloadTime = Date.now();
console.log('Remote cookies refreshed');
resolve(cookiesPath);
});
}).on('error', (err) => {
console.error('Error downloading cookies:', err);
resolve(fs.existsSync(cookiesPath) ? cookiesPath : null);
});
});
}
module.exports = { downloadCookies };