react-native/Libraries/Utilities
Siqi Liu f20d5ed67f Intercept XMLHttpRequest network operations and gather their information in inspector tool
Summary:
This diff
- creates `XHRInterceptor` to intercept all XMLHttpRequest network operations in React Native by monkey-patching.
- enables `XHRInterceptor` in RN development tool "inspector".

This interception and inspector tool work well on both Android and iOS. And this supports interception on any network API based on XMLHttpRequest, especially the Fetch API.

By now, we can intercept 12 information fields of a XMLHttpRequest including method, url, data sent, status, response type, response size, requestHeaders, responseHeaders, response, responseURL, responseType and timeout.

Follow-up:
- Will add UIs in the inspector on top of this diff, to display all the network operation information. (Not in this diff just to make this shorter)
- Will extend this to gather other valuable information towards one XMLHttpRequest.
- Should support other network request APIs like WebSocket.

Reviewed By: davidaurelio

Differential Revision: D3598873

fbshipit-source-id: 3221050ab2ebd876a718fc326646c344d0944a5f
2016-07-27 12:28:32 -07:00
..
__mocks__ Update some JS in preparation for some Jest updates. 2016-06-30 01:58:40 -07:00
__tests__ Prevent tests with invalid UTF-8 from failing when jest reads them from the cache 2016-07-08 12:35:53 -07:00
differ Update Jest APIs on fbsource 2016-04-27 19:16:32 -07:00
Alert.js Show the right error message in the console 2016-07-19 07:28:34 -07:00
AlertIOS.js Fix description of AlertIOS.prompt()'s parameter defaultValue. 2016-07-14 19:28:20 -07:00
BackAndroid.android.js Fix BackAndroid subscriptions calls 2016-07-21 08:58:24 -07:00
BackAndroid.ios.js RN: Remove BackAndroid Warning 2015-11-12 13:24:27 -08:00
CPUProfiler.js Add NativeProfiling module that uses RN nativeProfiler or console.profile 2015-11-27 04:44:25 -08:00
Dimensions.js Update Dimensions when device orientation changes 2016-03-15 05:49:25 -07:00
ErrorUtils.js Remove the need for allowTopLevelThis in transform-es2015-modules-commonjs 2016-04-29 16:15:34 -07:00
HMRClient.js Remove dead SourceMap code 2016-06-01 13:59:16 -07:00
HMRLoadingView.android.js Show a Toast for HMR 2016-02-27 15:58:35 -08:00
HMRLoadingView.ios.js Show a Toast for HMR 2016-02-27 15:58:35 -08:00
HeapCapture.js Capture heap from the dev menu 2016-04-29 07:35:22 -07:00
I18nManager.js Wrap native module I18nManager with a new RCTI18nManager.js and fix current use of native module I18nManager 2016-07-11 20:58:32 -07:00
MatrixMath.js Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
MessageQueue.js Add MessageQueue method for executing function and returning its result 2016-07-18 07:13:32 -07:00
PerformanceLogger.js Use monotonic clock instead of currentTimeMillis 2016-03-30 12:47:20 -07:00
PixelRatio.js PixelRatio.pixel() 2016-01-15 05:15:31 -08:00
Platform.android.js Reverted commit D3369528 2016-06-03 05:43:26 -07:00
Platform.ios.js Reverted commit D3369528 2016-06-03 05:43:26 -07:00
RCTLog.js Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
RCTRenderingPerf.js Remove `node_modules/react` from the list of discoverable haste modules 2016-07-05 06:44:33 -07:00
Systrace.js Remove `node_modules/react` from the list of discoverable haste modules 2016-07-05 06:44:33 -07:00
UIManager.js Remove `node_modules/react` from the list of discoverable haste modules 2016-07-05 06:44:33 -07:00
XHRInterceptor.js Intercept XMLHttpRequest network operations and gather their information in inspector tool 2016-07-27 12:28:32 -07:00
buildStyleInterpolator.js Deprecate transformMatrix and decomposedMatrix 2016-04-29 14:19:25 -07:00
clamp.js Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
createStrictShapeTypeChecker.js Upgrade to React v15.3.0-rc.2 2016-07-21 09:13:29 -07:00
deepFreezeAndThrowOnMutationInDev.js Ensure recursion is terminated on objects with cyclical references 2016-02-12 14:56:00 -08:00
defineLazyObjectProperty.js RN: Implement `defineLazyObjectProperty` 2016-06-29 16:43:17 -07:00
deprecatedCallback.js explicit type args in react-native-github 2016-05-24 18:28:26 -07:00
deprecatedPropType.js Upgrade to React v15.3.0-rc.2 2016-07-21 09:13:29 -07:00
dismissKeyboard.js [ReactNative] Sync [react_native] Fix keyboard behavior for android 2015-08-14 02:58:37 -08:00
groupByEveryN.js Flowify Library/Utilities/ 2015-03-23 16:47:26 -08:00
infoLog.js Move infoLog to OSS 2016-05-17 12:43:40 -07:00
logError.js Flowify Library/Utilities/ 2015-03-23 16:47:26 -08:00
mapWithSeparator.js Optimize and flowify mapWithSeparator 2016-05-26 12:28:55 -07:00
mergeFast.js Fix typo 2015-08-06 20:22:24 -08:00
mergeIntoFast.js Bugfix - Typos 2015-12-15 09:09:32 -08:00
stringifySafe.js [ReactNative] improve console logging a little bit 2015-05-04 18:57:03 -08:00
throwOnWrongReactAPI.js Show better error message when accessing React APIs on React Native 2016-06-14 06:28:26 -07:00
truncate.js Fix truncate tests 2016-06-13 10:13:36 -07:00
utf8.js Add support for missing XHR response types 2016-04-11 05:54:28 -07:00