From 015c94d22a7400d66cf369198362d840f6e1a13d Mon Sep 17 00:00:00 2001 From: Flummi Date: Sun, 14 Aug 2016 02:15:53 +0200 Subject: [PATCH] modified: src/main.js --- src/main.js | 68 ++++++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 40 deletions(-) diff --git a/src/main.js b/src/main.js index f8b8888..8bf6180 100644 --- a/src/main.js +++ b/src/main.js @@ -1,7 +1,5 @@ var cfg = require('../../cfg.json'); var fs = require('fs'); -var http = require("http"); -var https = require("https"); var mysql = require('mysql'); var bot = require('coffea')(); const path = require('path'); @@ -54,42 +52,32 @@ var getUser = (u, n) => { var dl = (url, dest, cb) => { var file = fs.createWriteStream(dest); - if(url.match(/https/)) { - var request = https.get(url, (response) => { - try { - response.pipe(file); - file.on('finish', () => { - file.close(); - cb('(https) downloaded '+dest); - }); - file.on('error', (err) => { - fs.unlink(dest); - file.close(); - cb(err.message); - }); - } - catch(ex) { - e.reply(ex); - } - }); + var request = adapterFor(url).get(url, (response) => { + try { + response.pipe(file); + file.on('finish', () => { + file.close(); + cb('downloaded '+dest); + }); + file.on('error', (err) => { + fs.unlink(dest); + file.close(); + cb(err.message); + }); + } + catch(ex) { + e.reply(ex); + } + }); +} + +var adapterFor = (function() { + var url = require('url'), + adapters = { + 'http:': require('http'), + 'https:': require('https'), + }; + return (inputUrl) => { + return adapters[url.parse(inputUrl).protocol] } - else { - var request = http.get(url, (response) => { - try { - response.pipe(file); - file.on('finish', () => { - file.close(); - cb('(http) downloaded '+dest); - }); - file.on('error', (err) => { - fs.unlink(dest); - file.close(); - cb(err.message); - }); - } - catch(ex) { - e.reply(ex); - } - }); - } -} \ No newline at end of file +}()); \ No newline at end of file