import http from "http"; import https from "https"; import fs from "fs"; export class MemeHandler{ constructor(memeAPI, subreddits, allowedMedia){ this.memeAPI = memeAPI; this.subreddits = subreddits; this.allowedMedia = allowedMedia; } getRandomMeme(callback){ this.request(this.memeAPI+this.randomFromArray(this.subreddits), (res) => { let sub = this.randomFromArray(res.subs); console.log("got sub => "); console.log(sub) callback(sub); }); } downloadMedia(url, filepath, callback){ const request = https.get(url, (res) => { res.pipe(fs.createWriteStream(filepath)); res.on('end', () => { console.log(`downloaded media => ${filepath}`); callback(); }) }); } request(url, callback){ http.get(url, res => { let data = ""; res.on('data', chunk => { data += chunk; }) res.on('end', () => { callback(JSON.parse(data)) }) }) } randomFromArray(array){ return array[Math.floor(Math.random()*array.length)]; } }