Skip to content

Commit dd465ab

Browse files
fix(formdata): fixed content-type header normalization for non-standard browser environments; (#6056)
1 parent 3dc8369 commit dd465ab

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

lib/adapters/xhr.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,10 @@ export default isXHRAdapterSupported && function (config) {
6666
if (utils.isFormData(requestData)) {
6767
if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
6868
requestHeaders.setContentType(false); // Let the browser set it
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())){
69+
} else if ((contentType = requestHeaders.getContentType()) !== false) {
7270
// fix semicolon duplication issue for ReactNative FormData implementation
73-
requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, '$1'))
71+
const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];
72+
requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));
7473
}
7574
}
7675

0 commit comments

Comments
 (0)