forked from wkh237/react-native-fetch-blob
-
Notifications
You must be signed in to change notification settings - Fork 787
/
json-stream.js
42 lines (35 loc) · 1.01 KB
/
json-stream.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import Oboe from './lib/oboe-browser.min.js'
import XMLHttpRequest from './polyfill/XMLHttpRequest'
import URIUtil from './utils/uri'
const OboeExtended = (arg: string | Object) => {
window.location = ''
if(!window.XMLHttpRequest.isRNFBPolyfill ) {
window.XMLHttpRequest = XMLHttpRequest
console.warn(
'Use JSONStream will automatically replace window.XMLHttpRequest with RNFetchBlob.polyfill.XMLHttpRequest. ' +
'You are seeing this warning because you did not replace it manually.'
)
}
if(typeof arg === 'string') {
if(URIUtil.isFileURI(arg)) {
arg = {
url : 'JSONStream://' + arg,
headers : { noCache : true }
}
}
else
arg = 'JSONStream://' + arg
}
else if(typeof arg === 'object') {
let headers = arg.headers || {}
if(URIUtil.isFileURI(arg.url)) {
headers.noCache = true
}
arg = Object.assign(arg, {
url : 'JSONStream://' + arg.url,
headers
})
}
return Oboe(arg)
}
export default OboeExtended