@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.23 kB
JavaScript
// 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRyZXF1ZXN0LmJpbmFyeXJlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHJlcXVlc3QuYmluYXJ5cmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsT0FBTyxLQUFLLFVBQVUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFpQyxNQUFNLDJCQUEyQixDQUFDO0FBRW5GLE9BQU8sS0FBSyxPQUFPLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEtBQUssRUFDNUIsU0FBaUIsRUFDakIsYUFBOEMsRUFBRSxFQUNoRCxFQUFFO0lBQ0YsVUFBVSxHQUFHO1FBQ1gsR0FBRyxVQUFVO1FBQ2IsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RCxNQUFNLElBQUksR0FBa0IsRUFBRSxDQUFDO0lBRS9CLFFBQVE7U0FDTCxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsS0FBYTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztTQUNELEVBQUUsQ0FBQyxLQUFLLEVBQUU7UUFDVCwyQ0FBMkM7UUFDM0MsNkNBQTZDO1FBQzdDLHlCQUF5QjtRQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNuQixPQUFPLFFBQTRDLENBQUM7QUFDdEQsQ0FBQyxDQUFDIn0=