UNPKG

@uppy/companion

Version:

OAuth helper and remote fetcher for Uppy's (https://uppy.io) extensible file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox and Google Drive, S3 and more :dog:

28 lines (27 loc) 845 B
import { getProtectedGot } from './helpers/request.js'; import { prepareStream } from './helpers/utils.js'; import logger from './logger.js'; /** * Downloads the content in the specified url, and passes the data * to the callback chunk by chunk. * * @param {string} url * @param {boolean} allowLocalIPs * @param {string} traceId * @returns {Promise} */ export const downloadURL = async (url, allowLocalIPs, traceId, options) => { try { const protectedGot = getProtectedGot({ allowLocalIPs }); const stream = protectedGot.stream.get(url, { responseType: 'json', ...options, }); const { size } = await prepareStream(stream); return { stream, size }; } catch (err) { logger.error(err, 'controller.url.download.error', traceId); throw err; } };