@rpldy/chunked-sender
Version:
adds chunked upload capabilities on top of the regular XHR uploads
21 lines • 866 B
JavaScript
import { logger } from "@rpldy/shared";
import xhrSend from "@rpldy/sender";
import { getMandatoryOptions } from "../utils";
import processChunks from "./processChunks";
const createChunkedSender = (chunkedOptions, trigger) => {
const options = getMandatoryOptions(chunkedOptions);
return {
send: (items, url, sendOptions, onProgress) => {
let result;
if (!options.chunked || items.length > 1 || items[0].url || !items[0].file.size) {
result = xhrSend(items, url, sendOptions, onProgress);
logger.debugLog(`chunkedSender: sending items as normal, un-chunked requests`);
} else {
logger.debugLog(`chunkedSender: sending file as a chunked request`);
result = processChunks(items[0], options, url, sendOptions, onProgress, trigger);
}
return result;
}
};
};
export default createChunkedSender;