From 4ed7508f78e6ed6b4e86101f472e33d056bb098f Mon Sep 17 00:00:00 2001 From: ifedapoolarewaju Date: Fri, 31 Jan 2020 15:51:15 +0100 Subject: [PATCH] companion,xhr-upload: option to set multipart http method fixes #2019 (we can all go one year backwards once this is merged) --- packages/@uppy/companion/src/server/Uploader.js | 5 ++++- packages/@uppy/xhr-upload/src/index.js | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/@uppy/companion/src/server/Uploader.js b/packages/@uppy/companion/src/server/Uploader.js index a3129e3c7..e0dfe39d5 100644 --- a/packages/@uppy/companion/src/server/Uploader.js +++ b/packages/@uppy/companion/src/server/Uploader.js @@ -36,6 +36,7 @@ class Uploader { * @property {any} companionOptions * @property {any=} storage * @property {any=} headers + * @property {string=} httpMethod * * @param {UploaderOptions} options */ @@ -112,6 +113,7 @@ class Uploader { uploadUrl: req.body.uploadUrl, protocol: req.body.protocol, metadata: req.body.metadata, + httpMethod: req.body.httpMethod, size: size, fieldname: req.body.fieldname, pathPrefix: `${req.companion.options.filePath}`, @@ -455,8 +457,9 @@ class Uploader { } } ) + const httpMethod = (this.options.httpMethod || '').toLowerCase() === 'put' ? 'put' : 'post' const headers = headerSanitize(this.options.headers) - request.post({ url: this.options.endpoint, headers, formData, encoding: null }, (error, response, body) => { + request[httpMethod]({ url: this.options.endpoint, headers, formData, encoding: null }, (error, response, body) => { if (error) { logger.error(error, 'upload.multipart.error') this.emitError(error) diff --git a/packages/@uppy/xhr-upload/src/index.js b/packages/@uppy/xhr-upload/src/index.js index fbabaa271..3535292a9 100644 --- a/packages/@uppy/xhr-upload/src/index.js +++ b/packages/@uppy/xhr-upload/src/index.js @@ -356,6 +356,7 @@ module.exports = class XHRUpload extends Plugin { size: file.data.size, fieldname: opts.fieldName, metadata: fields, + httpMethod: this.opts.method, headers: opts.headers }).then((res) => { const token = res.token