1
1
/**
2
2
* @author Jason Dobry <[email protected] >
3
3
* @file js-data-http.js
4
- * @version 0.4.2 - Homepage <http://www.js-data.iojs-data-http/>
4
+ * @version 0.4.3 - Homepage <http://www.js-data.iojs-data-http/>
5
5
* @copyright (c) 2014 Jason Dobry
6
6
* @license MIT <https://github.com/js-data/js-data-http/blob/master/LICENSE>
7
7
*
10
10
! function ( e ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = e ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , e ) ; else { var f ; "undefined" != typeof window ?f = window :"undefined" != typeof global ?f = global :"undefined" != typeof self && ( f = self ) , f . DSHttpAdapter = e ( ) } } ( function ( ) { var define , module , exports ; return ( function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports :{ } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ?n :e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ) ( { 1 :[ function ( require , module , exports ) {
11
11
module . exports = require ( './lib/axios' ) ;
12
12
} , { "./lib/axios" :3 } ] , 2 :[ function ( require , module , exports ) {
13
- var buildUrl = require ( './../buildUrl' ) ;
14
- var cookies = require ( './../cookies' ) ;
15
13
var defaults = require ( './../defaults' ) ;
16
- var parseHeaders = require ( './../parseHeaders' ) ;
17
- var transformData = require ( './../transformData' ) ;
18
- var urlIsSameOrigin = require ( './../urlIsSameOrigin' ) ;
19
14
var utils = require ( './../utils' ) ;
15
+ var buildUrl = require ( './../helpers/buildUrl' ) ;
16
+ var cookies = require ( './../helpers/cookies' ) ;
17
+ var parseHeaders = require ( './../helpers/parseHeaders' ) ;
18
+ var transformData = require ( './../helpers/transformData' ) ;
19
+ var urlIsSameOrigin = require ( './../helpers/urlIsSameOrigin' ) ;
20
20
21
21
module . exports = function xhrAdapter ( resolve , reject , config ) {
22
22
// Transform request data
@@ -99,19 +99,23 @@ module.exports = function xhrAdapter(resolve, reject, config) {
99
99
}
100
100
}
101
101
102
+ if ( utils . isArrayBuffer ( data ) ) {
103
+ data = new DataView ( data ) ;
104
+ }
105
+
102
106
// Send the request
103
107
request . send ( data ) ;
104
108
} ;
105
- } , { "./../buildUrl " :4 , "./../cookies " :5 , "./../defaults " :6 , "./../parseHeaders" :7 , "./../transformData" :9 , "./../urlIsSameOrigin" :10 , "./../utils" :11 } ] , 3 :[ function ( require , module , exports ) {
109
+ } , { "./../defaults " :4 , "./../helpers/buildUrl " :5 , "./../helpers/cookies " :6 , "./../helpers/ parseHeaders" :7 , "./../helpers/ transformData" :9 , "./../helpers /urlIsSameOrigin" :10 , "./../utils" :11 } ] , 3 :[ function ( require , module , exports ) {
106
110
( function ( process ) {
107
111
var Promise = require ( 'es6-promise' ) . Promise ;
108
112
var defaults = require ( './defaults' ) ;
109
113
var utils = require ( './utils' ) ;
110
- var spread = require ( './spread' ) ;
111
114
112
115
var axios = module . exports = function axios ( config ) {
113
116
config = utils . merge ( {
114
117
method : 'get' ,
118
+ headers : { } ,
115
119
transformRequest : defaults . transformRequest ,
116
120
transformResponse : defaults . transformResponse
117
121
} , config ) ;
@@ -134,8 +138,23 @@ var axios = module.exports = function axios(config) {
134
138
}
135
139
} ) ;
136
140
141
+ function deprecatedMethod ( method , instead , docs ) {
142
+ try {
143
+ console . warn (
144
+ 'DEPRECATED method `' + method + '`.' +
145
+ ( instead ? ' Use `' + instead + '` instead.' : '' ) +
146
+ ' This method will be removed in a future release.' ) ;
147
+
148
+ if ( docs ) {
149
+ console . warn ( 'For more information about usage see ' + docs ) ;
150
+ }
151
+ } catch ( e ) { }
152
+ }
153
+
137
154
// Provide alias for success
138
155
promise . success = function success ( fn ) {
156
+ deprecatedMethod ( 'success' , 'then' , 'https://github.com/mzabriskie/axios/blob/master/README.md#response-api' ) ;
157
+
139
158
promise . then ( function ( response ) {
140
159
fn ( response . data , response . status , response . headers , response . config ) ;
141
160
} ) ;
@@ -144,6 +163,8 @@ var axios = module.exports = function axios(config) {
144
163
145
164
// Provide alias for error
146
165
promise . error = function error ( fn ) {
166
+ deprecatedMethod ( 'error' , 'catch' , 'https://github.com/mzabriskie/axios/blob/master/README.md#response-api' ) ;
167
+
147
168
promise . then ( null , function ( response ) {
148
169
fn ( response . data , response . status , response . headers , response . config ) ;
149
170
} ) ;
@@ -160,7 +181,7 @@ axios.defaults = defaults;
160
181
axios . all = function ( promises ) {
161
182
return Promise . all ( promises ) ;
162
183
} ;
163
- axios . spread = spread ;
184
+ axios . spread = require ( './helpers/ spread' ) ;
164
185
165
186
// Provide aliases for supported request methods
166
187
createShortMethods ( 'delete' , 'get' , 'head' ) ;
@@ -189,11 +210,63 @@ function createShortMethodsWithData() {
189
210
} ) ;
190
211
}
191
212
} ) . call ( this , require ( '_process' ) )
192
- } , { "./adapters/http" :2 , "./adapters/xhr" :2 , "./defaults" :6 , "./spread" :8 , "./utils" :11 , "_process" :22 , "es6-promise" :12 } ] , 4 :[ function ( require , module , exports ) {
213
+ } , { "./adapters/http" :2 , "./adapters/xhr" :2 , "./defaults" :4 , "./helpers /spread" :8 , "./utils" :11 , "_process" :22 , "es6-promise" :12 } ] , 4 :[ function ( require , module , exports ) {
193
214
'use strict' ;
194
215
195
216
var utils = require ( './utils' ) ;
196
217
218
+ var JSON_START = / ^ \s * ( \[ | \{ [ ^ \{ ] ) / ;
219
+ var JSON_END = / [ \} \] ] \s * $ / ;
220
+ var PROTECTION_PREFIX = / ^ \) \] \} ' , ? \n / ;
221
+ var DEFAULT_CONTENT_TYPE = {
222
+ 'Content-Type' : 'application/x-www-form-urlencoded'
223
+ } ;
224
+
225
+ module . exports = {
226
+ transformRequest : [ function ( data , headers ) {
227
+ if ( utils . isArrayBuffer ( data ) ) {
228
+ return data ;
229
+ }
230
+ if ( utils . isArrayBufferView ( data ) ) {
231
+ return data . buffer ;
232
+ }
233
+ if ( utils . isObject ( data ) && ! utils . isFile ( data ) && ! utils . isBlob ( data ) ) {
234
+ // Set application/json if no Content-Type has been specified
235
+ if ( ! utils . isUndefined ( headers ) && utils . isUndefined ( headers [ 'Content-Type' ] ) ) {
236
+ headers [ 'Content-Type' ] = 'application/json;charset=utf-8' ;
237
+ }
238
+ return JSON . stringify ( data ) ;
239
+ }
240
+ return data ;
241
+ } ] ,
242
+
243
+ transformResponse : [ function ( data ) {
244
+ if ( typeof data === 'string' ) {
245
+ data = data . replace ( PROTECTION_PREFIX , '' ) ;
246
+ if ( JSON_START . test ( data ) && JSON_END . test ( data ) ) {
247
+ data = JSON . parse ( data ) ;
248
+ }
249
+ }
250
+ return data ;
251
+ } ] ,
252
+
253
+ headers : {
254
+ common : {
255
+ 'Accept' : 'application/json, text/plain, */*'
256
+ } ,
257
+ patch : utils . merge ( DEFAULT_CONTENT_TYPE ) ,
258
+ post : utils . merge ( DEFAULT_CONTENT_TYPE ) ,
259
+ put : utils . merge ( DEFAULT_CONTENT_TYPE )
260
+ } ,
261
+
262
+ xsrfCookieName : 'XSRF-TOKEN' ,
263
+ xsrfHeaderName : 'X-XSRF-TOKEN'
264
+ } ;
265
+ } , { "./utils" :11 } ] , 5 :[ function ( require , module , exports ) {
266
+ 'use strict' ;
267
+
268
+ var utils = require ( './../utils' ) ;
269
+
197
270
function encode ( val ) {
198
271
return encodeURIComponent ( val ) .
199
272
replace ( / % 4 0 / gi, '@' ) .
@@ -235,10 +308,10 @@ module.exports = function buildUrl(url, params) {
235
308
236
309
return url ;
237
310
} ;
238
- } , { "./utils" :11 } ] , 5 :[ function ( require , module , exports ) {
311
+ } , { "./../ utils" :11 } ] , 6 :[ function ( require , module , exports ) {
239
312
'use strict' ;
240
313
241
- var utils = require ( './utils' ) ;
314
+ var utils = require ( './../ utils' ) ;
242
315
243
316
module . exports = {
244
317
write : function write ( name , value , expires , path , domain , secure ) {
@@ -273,52 +346,10 @@ module.exports = {
273
346
this . write ( name , '' , Date . now ( ) - 86400000 ) ;
274
347
}
275
348
} ;
276
- } , { "./utils" :11 } ] , 6 :[ function ( require , module , exports ) {
277
- 'use strict' ;
278
-
279
- var utils = require ( './utils' ) ;
280
-
281
- var JSON_START = / ^ \s * ( \[ | \{ [ ^ \{ ] ) / ;
282
- var JSON_END = / [ \} \] ] \s * $ / ;
283
- var PROTECTION_PREFIX = / ^ \) \] \} ' , ? \n / ;
284
- var CONTENT_TYPE_APPLICATION_JSON = {
285
- 'Content-Type' : 'application/json;charset=utf-8'
286
- } ;
287
-
288
- module . exports = {
289
- transformRequest : [ function ( data ) {
290
- return utils . isObject ( data ) &&
291
- ! utils . isFile ( data ) &&
292
- ! utils . isBlob ( data ) ?
293
- JSON . stringify ( data ) : data ;
294
- } ] ,
295
-
296
- transformResponse : [ function ( data ) {
297
- if ( typeof data === 'string' ) {
298
- data = data . replace ( PROTECTION_PREFIX , '' ) ;
299
- if ( JSON_START . test ( data ) && JSON_END . test ( data ) ) {
300
- data = JSON . parse ( data ) ;
301
- }
302
- }
303
- return data ;
304
- } ] ,
305
-
306
- headers : {
307
- common : {
308
- 'Accept' : 'application/json, text/plain, */*'
309
- } ,
310
- patch : utils . merge ( CONTENT_TYPE_APPLICATION_JSON ) ,
311
- post : utils . merge ( CONTENT_TYPE_APPLICATION_JSON ) ,
312
- put : utils . merge ( CONTENT_TYPE_APPLICATION_JSON )
313
- } ,
314
-
315
- xsrfCookieName : 'XSRF-TOKEN' ,
316
- xsrfHeaderName : 'X-XSRF-TOKEN'
317
- } ;
318
- } , { "./utils" :11 } ] , 7 :[ function ( require , module , exports ) {
349
+ } , { "./../utils" :11 } ] , 7 :[ function ( require , module , exports ) {
319
350
'use strict' ;
320
351
321
- var utils = require ( './utils' ) ;
352
+ var utils = require ( './../ utils' ) ;
322
353
323
354
/**
324
355
* Parse headers into an object
@@ -350,7 +381,7 @@ module.exports = function parseHeaders(headers) {
350
381
351
382
return parsed ;
352
383
} ;
353
- } , { "./utils" :11 } ] , 8 :[ function ( require , module , exports ) {
384
+ } , { "./../ utils" :11 } ] , 8 :[ function ( require , module , exports ) {
354
385
/**
355
386
* Syntactic sugar for invoking a function and expanding an array for arguments.
356
387
*
@@ -379,7 +410,7 @@ module.exports = function spread(callback) {
379
410
} , { } ] , 9 :[ function ( require , module , exports ) {
380
411
'use strict' ;
381
412
382
- var utils = require ( './utils' ) ;
413
+ var utils = require ( './../ utils' ) ;
383
414
384
415
/**
385
416
* Transform the data for a request or a response
@@ -396,11 +427,11 @@ module.exports = function transformData(data, headers, fns) {
396
427
397
428
return data ;
398
429
} ;
399
- } , { "./utils" :11 } ] , 10 :[ function ( require , module , exports ) {
430
+ } , { "./../ utils" :11 } ] , 10 :[ function ( require , module , exports ) {
400
431
'use strict' ;
401
432
402
433
var msie = / ( m s i e | t r i d e n t ) / i. test ( navigator . userAgent ) ;
403
- var utils = require ( './utils' ) ;
434
+ var utils = require ( './../ utils' ) ;
404
435
var urlParsingNode = document . createElement ( 'a' ) ;
405
436
var originUrl = urlResolve ( window . location . href ) ;
406
437
@@ -447,7 +478,7 @@ module.exports = function urlIsSameOrigin(requestUrl) {
447
478
return ( parsed . protocol === originUrl . protocol &&
448
479
parsed . host === originUrl . host ) ;
449
480
} ;
450
- } , { "./utils" :11 } ] , 11 :[ function ( require , module , exports ) {
481
+ } , { "./../ utils" :11 } ] , 11 :[ function ( require , module , exports ) {
451
482
// utils is a library of generic helper functions non-specific to axios
452
483
453
484
var toString = Object . prototype . toString ;
@@ -462,6 +493,30 @@ function isArray(val) {
462
493
return toString . call ( val ) === '[object Array]' ;
463
494
}
464
495
496
+ /**
497
+ * Determine if a value is an ArrayBuffer
498
+ *
499
+ * @param {Object } val The value to test
500
+ * @returns {boolean } True if value is an ArrayBuffer, otherwise false
501
+ */
502
+ function isArrayBuffer ( val ) {
503
+ return toString . call ( val ) === '[object ArrayBuffer]' ;
504
+ }
505
+
506
+ /**
507
+ * Determine if a value is a view on an ArrayBuffer
508
+ *
509
+ * @param {Object } val The value to test
510
+ * @returns {boolean } True if value is a view on an ArrayBuffer, otherwise false
511
+ */
512
+ function isArrayBufferView ( val ) {
513
+ if ( ( typeof ArrayBuffer !== 'undefined' ) && ( ArrayBuffer . isView ) ) {
514
+ return ArrayBuffer . isView ( val ) ;
515
+ } else {
516
+ return ( val ) && ( val . buffer ) && ( val . buffer instanceof ArrayBuffer ) ;
517
+ }
518
+ }
519
+
465
520
/**
466
521
* Determine if a value is a String
467
522
*
@@ -482,6 +537,16 @@ function isNumber(val) {
482
537
return typeof val === 'number' ;
483
538
}
484
539
540
+ /**
541
+ * Determine if a value is undefined
542
+ *
543
+ * @param {Object } val The value to test
544
+ * @returns {boolean } True if the value is undefined, otherwise false
545
+ */
546
+ function isUndefined ( val ) {
547
+ return typeof val === 'undefined' ;
548
+ }
549
+
485
550
/**
486
551
* Determine if a value is an Object
487
552
*
@@ -603,9 +668,12 @@ function merge(obj1/*, obj2, obj3, ...*/) {
603
668
604
669
module . exports = {
605
670
isArray : isArray ,
671
+ isArrayBuffer : isArrayBuffer ,
672
+ isArrayBufferView : isArrayBufferView ,
606
673
isString : isString ,
607
674
isNumber : isNumber ,
608
675
isObject : isObject ,
676
+ isUndefined : isUndefined ,
609
677
isDate : isDate ,
610
678
isFile : isFile ,
611
679
isBlob : isBlob ,
@@ -1231,6 +1299,8 @@ var process = module.exports = {};
1231
1299
process . nextTick = ( function ( ) {
1232
1300
var canSetImmediate = typeof window !== 'undefined'
1233
1301
&& window . setImmediate ;
1302
+ var canMutationObserver = typeof window !== 'undefined'
1303
+ && window . MutationObserver ;
1234
1304
var canPost = typeof window !== 'undefined'
1235
1305
&& window . postMessage && window . addEventListener
1236
1306
;
@@ -1239,8 +1309,29 @@ process.nextTick = (function () {
1239
1309
return function ( f ) { return window . setImmediate ( f ) } ;
1240
1310
}
1241
1311
1312
+ var queue = [ ] ;
1313
+
1314
+ if ( canMutationObserver ) {
1315
+ var hiddenDiv = document . createElement ( "div" ) ;
1316
+ var observer = new MutationObserver ( function ( ) {
1317
+ var queueList = queue . slice ( ) ;
1318
+ queue . length = 0 ;
1319
+ queueList . forEach ( function ( fn ) {
1320
+ fn ( ) ;
1321
+ } ) ;
1322
+ } ) ;
1323
+
1324
+ observer . observe ( hiddenDiv , { attributes : true } ) ;
1325
+
1326
+ return function nextTick ( fn ) {
1327
+ if ( ! queue . length ) {
1328
+ hiddenDiv . setAttribute ( 'yes' , 'no' ) ;
1329
+ }
1330
+ queue . push ( fn ) ;
1331
+ } ;
1332
+ }
1333
+
1242
1334
if ( canPost ) {
1243
- var queue = [ ] ;
1244
1335
window . addEventListener ( 'message' , function ( ev ) {
1245
1336
var source = ev . source ;
1246
1337
if ( ( source === window || source === null ) && ev . data === 'process-tick' ) {
@@ -1280,7 +1371,7 @@ process.emit = noop;
1280
1371
1281
1372
process . binding = function ( name ) {
1282
1373
throw new Error ( 'process.binding is not supported' ) ;
1283
- }
1374
+ } ;
1284
1375
1285
1376
// TODO(shtylman)
1286
1377
process . cwd = function ( ) { return '/' } ;
@@ -1327,7 +1418,9 @@ defaultsPrototype.forceTrailingSlash = '';
1327
1418
1328
1419
defaultsPrototype . httpConfig = { } ;
1329
1420
1330
- defaultsPrototype . log = console ? console . log : function ( ) {
1421
+ defaultsPrototype . log = console ? function ( a , b , c , d , e ) {
1422
+ console . log ( a , b , c , d , e ) ;
1423
+ } : function ( ) {
1331
1424
} ;
1332
1425
1333
1426
defaultsPrototype . deserialize = function ( resourceName , data ) {
0 commit comments