Open
Conversation
674e3f9 to
4d6d005
Compare
The previous implementation overrode onreadystatechange directly,
which failed when handlers were set after send() was called.
This fix uses addEventListener('readystatechange', ...) instead,
which reliably captures responses regardless of when other handlers
are attached.
fix: implement custom XHRInterceptor to avoid RN private API warnings
Replace dependency on React Native's internal XHRInterceptor with a
custom implementation that directly patches XMLHttpRequest prototype.
This fixes the deprecation warning in React Native 0.80+:
"Deep imports from the 'react-native' package are deprecated"
The new implementation:
- Patches XMLHttpRequest.prototype.open, send, setRequestHeader
- Captures response headers and body via onreadystatechange
- Properly restores original methods when interception is disabled
- Maintains the same callback API for compatibility with Logger.ts
- Works across all React Native versions without version-specific paths
4d6d005 to
5a3f814
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace dependency on React Native's internal XHRInterceptor with a custom implementation that directly patches XMLHttpRequest prototype.
This fixes the deprecation warning in React Native 0.81+:
The new implementation:
Tested in my app, all http requests are captured properly.