mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use existing character set in POST body when possible (#23603)
Summary: This commit fixes a bug introduced in a previous attempt (https://github.com/facebook/react-native/pull/23580) to address an issue where okhttp appended `charset=utf-8` to the Content-Type header when otherwise not specified. In that commit, I converted all characters to UTF-8, however it should instead use an existing encoding when possible. Related issues: https://github.com/facebook/react-native/issues/8237#issuecomment-466304854 [Android][fixed] - Respect existing character set when specified in fetch() POST request Pull Request resolved: https://github.com/facebook/react-native/pull/23603 Differential Revision: D14191750 Pulled By: hramos fbshipit-source-id: 11c1bfd98ccd33cd8e54ea426285b7d2ce9c2d7c
This commit is contained in:
committed by
Facebook Github Bot
parent
c1349b5960
commit
0d5aebbd9a
@@ -372,7 +372,13 @@ public final class NetworkingModule extends ReactContextBaseJavaModule {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
requestBody = RequestBody.create(contentMediaType, body.getBytes(StandardCharsets.UTF_8));
|
||||
// Use getBytes() to convert the body into a byte[], preventing okhttp from
|
||||
// appending the character set to the Content-Type header when otherwise unspecified
|
||||
// https://github.com/facebook/react-native/issues/8237
|
||||
Charset charset = contentMediaType == null
|
||||
? StandardCharsets.UTF_8
|
||||
: contentMediaType.charset(StandardCharsets.UTF_8);
|
||||
requestBody = RequestBody.create(contentMediaType, body.getBytes(charset));
|
||||
}
|
||||
} else if (data.hasKey(REQUEST_BODY_KEY_BASE64)) {
|
||||
if (contentType == null) {
|
||||
|
||||
Reference in New Issue
Block a user