UNPKG

cypress-downloadfile

Version:
36 lines (35 loc) • 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.downloadFile = downloadFile; var fetch = require('cross-fetch'); var fs = require('fs-extra'); var path = require('path'); function downloadFile(args) { var directory = args.directory; var cookieHeader = args.cookies.map(function (e) { return e.name + '=' + e.value; }).join(';'); var userAgent = args.userAgent || 'cross-fetch'; var fileName = args.fileName; return fetch(args.url, { headers: { Cookie: cookieHeader, 'User-Agent': userAgent } }).then(function (response) { if (!response) { throw new Error('No response'); } if (response.status !== 200) { throw new Error('Bad status code: ' + response.status); } return response.arrayBuffer(); }).then(function (arrayBuffer) { var file = path.join(directory, fileName); var myBuffer = new Uint8Array(arrayBuffer); fs.outputFileSync(file, myBuffer); return 'downloadFile ' + file + ' downloaded'; }); }