UNPKG

@jeetiss/upload

Version:
42 lines (41 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var request_node_1 = require("../request/request.node"); var buildFormData_1 = require("../tools/buildFormData"); var getUrl_1 = require("../tools/getUrl"); var defaultSettings_1 = require("../defaultSettings"); var userAgent_1 = require("../tools/userAgent"); var camelizeKeys_1 = require("../tools/camelizeKeys"); var retryIfThrottled_1 = require("../tools/retryIfThrottled"); var errors_1 = require("../tools/errors"); /** * Complete multipart uploading. */ function multipartComplete(uuid, _a) { var publicKey = _a.publicKey, _b = _a.baseURL, baseURL = _b === void 0 ? defaultSettings_1.default.baseURL : _b, _c = _a.source, source = _c === void 0 ? 'local' : _c, cancel = _a.cancel, integration = _a.integration, _d = _a.retryThrottledRequestMaxTimes, retryThrottledRequestMaxTimes = _d === void 0 ? defaultSettings_1.default.retryThrottledRequestMaxTimes : _d; return retryIfThrottled_1.default(function () { return request_node_1.default({ method: 'POST', url: getUrl_1.default(baseURL, '/multipart/complete/', { jsonerrors: 1 }), headers: { 'X-UC-User-Agent': userAgent_1.getUserAgent({ publicKey: publicKey, integration: integration }) }, data: buildFormData_1.default([ ['uuid', uuid], ['UPLOADCARE_PUB_KEY', publicKey], ['source', source] ]), cancel: cancel }).then(function (_a) { var data = _a.data, headers = _a.headers, request = _a.request; var response = camelizeKeys_1.default(JSON.parse(data)); if ('error' in response) { throw new errors_1.UploadClientError("[" + response.error.statusCode + "] " + response.error.content, request, response.error, headers); } else { return response; } }); }, retryThrottledRequestMaxTimes); } exports.default = multipartComplete;