cobalt/api/src/stream/shared.js

50 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-04-27 12:59:27 +02:00
import { genericUserAgent } from "../config.js";
import { vkClientAgent } from "../processing/services/vk.js";
2024-04-27 12:59:27 +02:00
const defaultHeaders = {
'user-agent': genericUserAgent
}
const serviceHeaders = {
bilibili: {
referer: 'https://www.bilibili.com/'
},
youtube: {
accept: '*/*',
origin: 'https://www.youtube.com',
referer: 'https://www.youtube.com',
DNT: '?1'
},
vk: {
'user-agent': vkClientAgent
2024-04-27 12:59:27 +02:00
}
}
export function closeRequest(controller) {
try { controller.abort() } catch {}
}
export function closeResponse(res) {
if (!res.headersSent) {
res.sendStatus(500);
}
return res.end();
}
2024-04-27 12:59:27 +02:00
export function getHeaders(service) {
// Converting all header values to strings
return Object.entries({ ...defaultHeaders, ...serviceHeaders[service] })
.reduce((p, [key, val]) => ({ ...p, [key]: String(val) }), {})
2024-06-06 16:39:28 +02:00
}
export function pipe(from, to, done) {
from.on('error', done)
.on('close', done);
to.on('error', done)
.on('close', done);
from.pipe(to);
}