@@ -130,7 +130,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
130
130
* @param {any } body Body in RNfetchblob flavor
131
131
*/
132
132
send ( body ) {
133
-
133
+ this . _body = body
134
134
if ( this . _readyState !== XMLHttpRequest . OPENED )
135
135
throw 'InvalidStateError : XMLHttpRequest is not opened yet.'
136
136
let promise = Promise . resolve ( )
@@ -141,10 +141,12 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
141
141
log . verbose ( typeof body , body instanceof FormData )
142
142
143
143
if ( body instanceof Blob ) {
144
+ log . debug ( 'sending blob body' , body . _blobCreated )
144
145
promise = new Promise ( ( resolve , reject ) => {
145
146
body . onCreated ( ( blob ) => {
146
- body = RNFetchBlob . wrap ( body . getRNFetchBlobRef ( ) )
147
- resolve ( )
147
+ log . debug ( 'body created send request' )
148
+ body = RNFetchBlob . wrap ( blob . getRNFetchBlobRef ( ) )
149
+ resolve ( )
148
150
} )
149
151
} )
150
152
}
@@ -158,6 +160,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
158
160
}
159
161
160
162
promise . then ( ( ) => {
163
+ log . debug ( 'send request invoke' , body )
164
+ for ( let h in _headers ) {
165
+ _headers [ h ] = _headers [ h ] . toString ( )
166
+ }
161
167
this . _task = RNFetchBlob
162
168
. config ( {
163
169
auto : true ,
@@ -224,10 +230,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
224
230
}
225
231
226
232
getResponseHeader ( field :string ) :string | null {
227
- log . verbose ( 'XMLHttpRequest get header' , field )
233
+ log . verbose ( 'XMLHttpRequest get header' , field , this . _responseHeaders )
228
234
if ( ! this . _responseHeaders )
229
235
return null
230
- return this . responseHeaders [ field ] || null
236
+ return ( this . _responseHeaders [ field ] || this . _responseHeaders [ field . toLowerCase ( ) ] ) || null
231
237
232
238
}
233
239
@@ -238,9 +244,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
238
244
let result = ''
239
245
let respHeaders = this . responseHeaders
240
246
for ( let i in respHeaders ) {
241
- result += `${ i } :${ respHeaders [ i ] } \r\n `
247
+ result += `${ i } : ${ respHeaders [ i ] } ${ String . fromCharCode ( 0x0D , 0x0A ) } `
242
248
}
243
- return result
249
+ console . log ( '###' , result . substr ( 0 , result . length - 2 ) )
250
+ return result . substr ( 0 , result . length - 2 )
244
251
}
245
252
246
253
_headerReceived ( e ) {
@@ -310,9 +317,12 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
310
317
let info = resp . respInfo || { }
311
318
switch ( info . respType ) {
312
319
case 'json' :
320
+ try {
313
321
this . _responseText = resp . text ( )
314
322
this . _response = resp . json ( )
315
323
responseDataReady ( )
324
+ } catch ( err ) {
325
+ }
316
326
break ;
317
327
case 'blob' :
318
328
resp . blob ( ) . then ( ( b ) => {
@@ -322,7 +332,6 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
322
332
} )
323
333
break ;
324
334
default :
325
- console . log ( resp , resp . text ( ) )
326
335
this . _responseText = resp . text ( )
327
336
this . _response = this . responseText
328
337
responseDataReady ( )
0 commit comments