UNPKG

nurlresolver

Version:
33 lines 1.22 kB
import { BaseUrlResolver } from "../BaseResolver.js"; import { parse } from 'content-disposition'; export class WorkersDevResolver extends BaseUrlResolver { constructor() { super({ domains: [/https?:\/\/(dl.hdhub\d{0,}.workers.dev)/], speedRank: 95 }); } async resolveInner(_urlToResolve) { let title = this.extractFileNameFromUrl(_urlToResolve); try { const response = await this.gotInstance.head(_urlToResolve); const attachmentFileName = parse(response.headers['content-disposition'] || ''); title = attachmentFileName.parameters.filename || title; } catch (err) { //ignore } const result = { isPlayable: true, link: _urlToResolve, title }; return [result]; } async canResolve(urlToResolve) { const u = new URL(urlToResolve); return u.hostname.endsWith('workers.dev') || u.hostname.endsWith('r2.dev') || u.hostname.endsWith('fastdl.lol') || u.hostname.endsWith('obsession.buzz') || u.hostname.endsWith('storage.googleapis.com'); } } //# sourceMappingURL=workers.dev.js.map