@@ -130,7 +130,7 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
130130 * @param {any } body Body in RNfetchblob flavor
131131 */
132132 send ( body ) {
133-
133+ this . _body = body
134134 if ( this . _readyState !== XMLHttpRequest . OPENED )
135135 throw 'InvalidStateError : XMLHttpRequest is not opened yet.'
136136 let promise = Promise . resolve ( )
@@ -141,10 +141,12 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
141141 log . verbose ( typeof body , body instanceof FormData )
142142
143143 if ( body instanceof Blob ) {
144+ log . debug ( 'sending blob body' , body . _blobCreated )
144145 promise = new Promise ( ( resolve , reject ) => {
145146 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 ( )
148150 } )
149151 } )
150152 }
@@ -158,6 +160,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
158160 }
159161
160162 promise . then ( ( ) => {
163+ log . debug ( 'send request invoke' , body )
164+ for ( let h in _headers ) {
165+ _headers [ h ] = _headers [ h ] . toString ( )
166+ }
161167 this . _task = RNFetchBlob
162168 . config ( {
163169 auto : true ,
@@ -224,10 +230,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
224230 }
225231
226232 getResponseHeader ( field :string ) :string | null {
227- log . verbose ( 'XMLHttpRequest get header' , field )
233+ log . verbose ( 'XMLHttpRequest get header' , field , this . _responseHeaders )
228234 if ( ! this . _responseHeaders )
229235 return null
230- return this . responseHeaders [ field ] || null
236+ return ( this . _responseHeaders [ field ] || this . _responseHeaders [ field . toLowerCase ( ) ] ) || null
231237
232238 }
233239
@@ -238,9 +244,10 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
238244 let result = ''
239245 let respHeaders = this . responseHeaders
240246 for ( let i in respHeaders ) {
241- result += `${ i } :${ respHeaders [ i ] } \r\n `
247+ result += `${ i } : ${ respHeaders [ i ] } ${ String . fromCharCode ( 0x0D , 0x0A ) } `
242248 }
243- return result
249+ console . log ( '###' , result . substr ( 0 , result . length - 2 ) )
250+ return result . substr ( 0 , result . length - 2 )
244251 }
245252
246253 _headerReceived ( e ) {
@@ -310,9 +317,12 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
310317 let info = resp . respInfo || { }
311318 switch ( info . respType ) {
312319 case 'json' :
320+ try {
313321 this . _responseText = resp . text ( )
314322 this . _response = resp . json ( )
315323 responseDataReady ( )
324+ } catch ( err ) {
325+ }
316326 break ;
317327 case 'blob' :
318328 resp . blob ( ) . then ( ( b ) => {
@@ -322,7 +332,6 @@ export default class XMLHttpRequest extends XMLHttpRequestEventTarget{
322332 } )
323333 break ;
324334 default :
325- console . log ( resp , resp . text ( ) )
326335 this . _responseText = resp . text ( )
327336 this . _response = this . responseText
328337 responseDataReady ( )
0 commit comments