mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-05 22:38:59 +08:00
BREAKING: Android: Support withCredentials flag in XHRs
Summary: Corresponding iOS PR: #12275 Respect the withCredentials XMLHttpRequest flag for sending cookies with requests. This can reduce payload sizes where large cookies are set for domains. This should fix #5347. This is a breaking change because it alters the default behavior of XHR. Prior to this change, XHR would send cookies by default. After this change, by default, XHR does not send cookies which is consistent with the default behavior of XHR on web for cross-site requests. Developers can restore the previous behavior by passing `true` for XHR's `withCredentials` argument. **Test plan (required)** Verified in a test app that XHR works properly when specifying `withCredentials` as `true`, `false`, and `undefined`. Also, my team uses this change in our app. Adam Comella Microsoft Corp. Closes https://github.com/facebook/react-native/pull/12276 Differential Revision: D4673646 Pulled By: ericvicenti fbshipit-source-id: 924c230c9df72071b3cf9151c3ac201905ac28a5
This commit is contained in:
committed by
Facebook Github Bot
parent
ecd0df01af
commit
e544563bd2
@@ -100,7 +100,8 @@ public class NetworkingModuleTest {
|
||||
/* body */ null,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
ArgumentCaptor<Request> argumentCaptor = ArgumentCaptor.forClass(Request.class);
|
||||
verify(httpClient).newCall(argumentCaptor.capture());
|
||||
@@ -135,7 +136,8 @@ public class NetworkingModuleTest {
|
||||
/* body */ null,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
verifyErrorEmit(emitter, 0);
|
||||
}
|
||||
@@ -166,7 +168,8 @@ public class NetworkingModuleTest {
|
||||
body,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
verifyErrorEmit(emitter, 0);
|
||||
}
|
||||
@@ -227,7 +230,8 @@ public class NetworkingModuleTest {
|
||||
body,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
ArgumentCaptor<Request> argumentCaptor = ArgumentCaptor.forClass(Request.class);
|
||||
verify(httpClient).newCall(argumentCaptor.capture());
|
||||
@@ -270,7 +274,8 @@ public class NetworkingModuleTest {
|
||||
null,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
ArgumentCaptor<Request> argumentCaptor = ArgumentCaptor.forClass(Request.class);
|
||||
verify(httpClient).newCall(argumentCaptor.capture());
|
||||
Headers requestHeaders = argumentCaptor.getValue().headers();
|
||||
@@ -324,7 +329,8 @@ public class NetworkingModuleTest {
|
||||
body,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
// verify url, method, headers
|
||||
ArgumentCaptor<Request> argumentCaptor = ArgumentCaptor.forClass(Request.class);
|
||||
@@ -389,7 +395,8 @@ public class NetworkingModuleTest {
|
||||
body,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
// verify url, method, headers
|
||||
ArgumentCaptor<Request> argumentCaptor = ArgumentCaptor.forClass(Request.class);
|
||||
@@ -492,7 +499,8 @@ public class NetworkingModuleTest {
|
||||
body,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
/* timeout */ 0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
|
||||
// verify RequestBodyPart for image
|
||||
PowerMockito.verifyStatic(times(1));
|
||||
@@ -556,7 +564,8 @@ public class NetworkingModuleTest {
|
||||
null,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
}
|
||||
verify(httpClient, times(3)).newCall(any(Request.class));
|
||||
|
||||
@@ -606,7 +615,8 @@ public class NetworkingModuleTest {
|
||||
null,
|
||||
/* responseType */ "text",
|
||||
/* useIncrementalUpdates*/ true,
|
||||
0);
|
||||
/* timeout */ 0,
|
||||
/* withCredentials */ false);
|
||||
}
|
||||
verify(httpClient, times(3)).newCall(any(Request.class));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user