18 lines
622 B
JavaScript
18 lines
622 B
JavaScript
const axios = require('axios')
|
|
const fs = require('fs')
|
|
|
|
module.exports = download = (async (url, file, headers) => {
|
|
let path = `./cracks/${file}`
|
|
let writer = fs.createWriteStream(path)
|
|
try {
|
|
await axios({ url: url + file, method: 'GET', responseType: 'stream', headers }).then(response => {
|
|
return new Promise((resolve, reject) => {
|
|
response.data.pipe(writer)
|
|
let error = null
|
|
writer.on('error', err => { error = err; writer.close(); reject(err) })
|
|
writer.on('close', () => { if (!error) resolve(true) })
|
|
})
|
|
}).catch(console.error)
|
|
return path
|
|
} catch (error) { console.error(error) }
|
|
}) |