Skip to content

Commit bc9af51

Browse files
fix(formdata): fixed automatic addition of the Content-Type header for FormData in non-browser environments; (#5917)
1 parent 4c89f25 commit bc9af51

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

lib/adapters/xhr.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,16 @@ export default isXHRAdapterSupported && function (config) {
6161
}
6262
}
6363

64+
let contentType;
65+
6466
if (utils.isFormData(requestData)) {
6567
if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {
6668
requestHeaders.setContentType(false); // Let the browser set it
67-
} else {
68-
requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks
69+
} else if(!requestHeaders.getContentType(/^\s*multipart\/form-data/)){
70+
requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks
71+
} else if(utils.isString(contentType = requestHeaders.getContentType())){
72+
// fix semicolon duplication issue for ReactNative FormData implementation
73+
requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, '$1'))
6974
}
7075
}
7176

0 commit comments

Comments
 (0)