UNPKG

nurlresolver

Version:
35 lines 1.46 kB
import { BaseUrlResolver } from "../BaseResolver.js"; export class filePostResolver extends BaseUrlResolver { constructor() { super({ domains: [/https?:\/\/filepost/], speedRank: 90, useCookies: true }); } async resolveInner(_urlToResolve) { const parsedUrl = new URL(_urlToResolve); const fileId = parsedUrl.pathname.split('/').pop(); const response = await this.gotInstance(_urlToResolve); const csrfToken = this.parseElementAttributes(response.body, 'meta[name=csrf-token]', 'content')[0]; const data = { download: { index: 0 } }; const resp2 = await this.gotInstance.post(`https://filepost.io/d/${fileId}/generate_link`, { json: data, headers: { "x-csrf-token": csrfToken } }).json(); const title = this.parseElementAttributes(response.body, 'meta[name=description]', 'content')[0]; return { link: resp2.url, title, isPlayable: true }; } async fillMetaInfo(resolveMediaItem) { const contentResponse = await this.gotInstance(resolveMediaItem.link, { headers: { 'Range': 'bytes=0-1' } }); resolveMediaItem.size = contentResponse.headers['content-range']?.split('/').pop(); resolveMediaItem.contentType = contentResponse.headers['content-type']; } } //# sourceMappingURL=filePost.js.map