UNPKG

filehost-meta

Version:

Fetch basic file information from download links

43 lines (33 loc) 988 B
const axios = require('axios') const cheerio = require('cheerio') const { sizeToBytes } = require('../utils') const File = require('../classes/File') const { proxyToAxios } = require('../utils') exports.domains = ['uploadhaven.com'] exports.get = async (url, proxy) => { try { const res = await axios({ url, ...proxyToAxios(proxy) }) if (res.status !== 200) { throw new Error(res.statusText) } if (res.data?.indexOf('download could not be found') !== -1) { throw new Error('Response returned bad status') } const $ = cheerio.load(res.data) const meta = $('.responsiveInfoTable').first().text() let [file, size] = meta.split(/\r?\n/).filter(x => x.trim()) file = file.split(':').pop().trim() size = sizeToBytes(size.split(':').pop().trim()) return [ new File({ name: file, size: size, }) ] } catch (err) { throw err } }