UNPKG

628 BJavaScriptView Raw
1'use strict'
2
3const https = require('https')
4const fs = require('fs')
5
6exports.get = function (url, options, cb) {
7 const dest = options.destination
8
9 https.get(url, response => {
10 if (parseInt(response.statusCode.toString().substring(0, 1), 10) > 3) {
11 return cb(new Error(`Could not download ${url}, statusCode: ${response.statusCode.toString()}`), null)
12 }
13
14 const file = fs.createWriteStream(dest)
15 response.pipe(file)
16 file.on('finish', () => {
17 file.close()
18 cb(null, dest)
19 })
20 }).on('error', e => {
21 cb(e.message, null)
22 })
23}