Skip to content

Commit 27c765c

Browse files
committed
Fix XMLHttpRequest blob response assign statement
1 parent b97f87a commit 27c765c

File tree

5 files changed

+72
-18
lines changed

5 files changed

+72
-18
lines changed

src/index.js

-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,6 @@ class FetchBlobResponse {
257257
Blob.build(this.data, { type : cType + ';BASE64' }).then(resolve)
258258
break
259259
case 'path':
260-
console.log('##', 'reading path')
261260
polyfill.Blob.build(wrap(this.data), { type : cType }).then(resolve)
262261
break
263262
default:

src/polyfill/XMLHttpRequest.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
306306
case 'blob' :
307307
resp.blob().then((b) => {
308308
this._responseText = resp.text()
309-
this.response = b
309+
this._response = b
310310
responseDataReady()
311311
})
312312
break;

test-server/server.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ app.all('/xhr-code/:code', (req, res) => {
138138

139139
app.all('/xhr-header', (req, res) => {
140140
console.log(req.headers)
141-
res.header('Content-Type', 'application/json')
141+
// res.header('Content-Type', 'application/json')
142142
res.send(req.headers)
143143
})
144144

test/test-0.9.0.js

+55
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,61 @@ const dirs = RNFetchBlob.fs.dirs
3232

3333
let prefix = ((Platform.OS === 'android') ? 'file://' : '')
3434

35+
describe('cache control header and range request test', (report, done) => {
36+
37+
let image = RNTest.prop('image')
38+
let part = [
39+
`${fs.dirs.DocumentDir}/cache-control-test-part1.png`,
40+
`${fs.dirs.DocumentDir}/cache-control-test-part2.png`,
41+
`${fs.dirs.DocumentDir}/cache-control-test-part3.png`
42+
]
43+
let tmp = null
44+
45+
RNFetchBlob.fetch('POST', 'https://content.dropboxapi.com/2/files/upload', {
46+
Authorization : `Bearer ${DROPBOX_TOKEN}`,
47+
'Dropbox-API-Arg': '{\"path\": \"/rn-upload/'+FILENAME+'\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}',
48+
'Content-Type' : 'application/octet-stream',
49+
}, image)
50+
.then((resp) => {
51+
resp = resp.json()
52+
report(
53+
<Assert key="confirm the file has been uploaded" expect={FILENAME} actual={resp.name}/>
54+
)
55+
return RNFetchBlob.config({
56+
path : part[0],
57+
})
58+
.fetch('GET', 'https://content.dropboxapi.com/1/files/auto/rn-upload/' + FILENAME, {
59+
Authorization : `Bearer ${DROPBOX_TOKEN}`,
60+
'Cache-Control' : 'no-store',
61+
'Range' : 'bytes=0-23000'
62+
})
63+
})
64+
.then((res) => {
65+
let size = Math.floor(res.info().headers['Content-Length'])
66+
report(<Assert key="part2 content length = 23001" expect={23001} actual={size}/>)
67+
return RNFetchBlob.config({
68+
path : part[2]
69+
})
70+
.fetch('GET', 'https://content.dropboxapi.com/1/files/auto/rn-upload/' + FILENAME, {
71+
Authorization : `Bearer ${DROPBOX_TOKEN}`,
72+
'Range' : 'bytes=23001-23975',
73+
'Cache-Control' : 'no-store'
74+
})
75+
})
76+
.then((res) => {
77+
let size = Math.floor(res.info().headers['Content-Length'])
78+
report(<Assert key="part3 content length = 975" expect={974} actual={size}/>)
79+
return fs.appendFile(part[0], part[2], 'uri')
80+
})
81+
.then((written) => {
82+
return fs.stat(part[0])
83+
})
84+
.then((stat) => {
85+
report(<Assert key="combined file size check" expect="23975" actual={stat.size}/>)
86+
done()
87+
})
88+
})
89+
3590
describe('#73 unicode response BASE64 content test', (report, done) => {
3691

3792
fetch(`${TEST_SERVER_URL}/unicode`, {

test/test-init.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ const { Assert, Comparer, Info, prop } = RNTest
1818
// test environment variables
1919

2020
prop('FILENAME', `${Platform.OS}-0.8.0-${Date.now()}.png`)
21-
prop('TEST_SERVER_URL', 'http://192.168.16.70:8123')
22-
prop('TEST_SERVER_URL_SSL', 'https://192.168.16.70:8124')
21+
prop('TEST_SERVER_URL', 'http://192.168.0.11:8123')
22+
prop('TEST_SERVER_URL_SSL', 'https://192.168.0.11:8124')
2323
prop('DROPBOX_TOKEN', 'fsXcpmKPrHgAAAAAAAAAoXZhcXYWdgLpQMan6Tb_bzJ237DXhgQSev12hA-gUXt4')
2424
prop('styles', {
2525
image : {
@@ -59,19 +59,19 @@ describe('GET image from server', (report, done) => {
5959
})
6060

6161

62-
require('./test-0.1.x-0.4.x')
63-
require('./test-0.5.1')
64-
require('./test-0.5.2')
65-
require('./test-0.6.0')
66-
require('./test-0.6.2')
62+
// require('./test-0.1.x-0.4.x')
63+
// require('./test-0.5.1')
64+
// require('./test-0.5.2')
65+
// require('./test-0.6.0')
66+
// require('./test-0.6.2')
6767
// require('./test-0.6.3')
68-
require('./test-0.7.0')
69-
require('./test-0.8.0')
70-
require('./test-0.9.0')
71-
require('./test-fetch')
72-
require('./test-fs')
68+
// require('./test-0.7.0')
69+
// require('./test-0.8.0')
70+
// require('./test-0.9.0')
71+
// require('./test-fetch')
72+
// require('./test-fs')
7373
require('./test-xmlhttp')
74-
require('./test-blob')
75-
require('./test-firebase')
76-
require('./test-android')
74+
// require('./test-blob')
75+
// require('./test-firebase')
76+
// require('./test-android')
7777
// require('./benchmark')

0 commit comments

Comments
 (0)