UNPKG

@push.rocks/smartrequest

Version:

A module for modern HTTP/HTTPS requests with support for form data, file uploads, JSON, binary data, streams, and more.

28 lines 2.24 kB
// this file implements methods to get and post binary data. import * as interfaces from './smartrequest.interfaces.js'; import { request } from './smartrequest.request.js'; import * as plugins from './smartrequest.plugins.js'; export const getBinary = async (domainArg, optionsArg = {}) => { optionsArg = { ...optionsArg, autoJsonParse: false, }; const done = plugins.smartpromise.defer(); const response = await request(domainArg, optionsArg, true); const data = []; response .on('data', function (chunk) { data.push(chunk); }) .on('end', function () { //at this point data is an array of Buffers //so Buffer.concat() can make us a new Buffer //of all of them together const buffer = Buffer.concat(data); response.body = buffer; done.resolve(); }); await done.promise; return response; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRyZXF1ZXN0LmJpbmFyeXJlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9sZWdhY3kvc21hcnRyZXF1ZXN0LmJpbmFyeXJlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELE9BQU8sS0FBSyxVQUFVLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBaUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVuRixPQUFPLEtBQUssT0FBTyxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQzVCLFNBQWlCLEVBQ2pCLGFBQThDLEVBQUUsRUFDaEQsRUFBRTtJQUNGLFVBQVUsR0FBRztRQUNYLEdBQUcsVUFBVTtRQUNiLGFBQWEsRUFBRSxLQUFLO0tBQ3JCLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsTUFBTSxJQUFJLEdBQWtCLEVBQUUsQ0FBQztJQUUvQixRQUFRO1NBQ0wsRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEtBQWE7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUM7U0FDRCxFQUFFLENBQUMsS0FBSyxFQUFFO1FBQ1QsMkNBQTJDO1FBQzNDLDZDQUE2QztRQUM3Qyx5QkFBeUI7UUFDekIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDbkIsT0FBTyxRQUE0QyxDQUFDO0FBQ3RELENBQUMsQ0FBQyJ9