11/**
22* @author Jason Dobry <jason.dobry@gmail.com>
33* @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/>
55* @copyright (c) 2014 Jason Dobry
66* @license MIT <https://github.com/js-data/js-data-http/blob/master/LICENSE>
77*
1010! 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 ) {
1111module . exports = require ( './lib/axios' ) ;
1212} , { "./lib/axios" :3 } ] , 2 :[ function ( require , module , exports ) {
13- var buildUrl = require ( './../buildUrl' ) ;
14- var cookies = require ( './../cookies' ) ;
1513var defaults = require ( './../defaults' ) ;
16- var parseHeaders = require ( './../parseHeaders' ) ;
17- var transformData = require ( './../transformData' ) ;
18- var urlIsSameOrigin = require ( './../urlIsSameOrigin' ) ;
1914var 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' ) ;
2020
2121module . exports = function xhrAdapter ( resolve , reject , config ) {
2222 // Transform request data
@@ -99,19 +99,23 @@ module.exports = function xhrAdapter(resolve, reject, config) {
9999 }
100100 }
101101
102+ if ( utils . isArrayBuffer ( data ) ) {
103+ data = new DataView ( data ) ;
104+ }
105+
102106 // Send the request
103107 request . send ( data ) ;
104108} ;
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 ) {
106110( function ( process ) {
107111var Promise = require ( 'es6-promise' ) . Promise ;
108112var defaults = require ( './defaults' ) ;
109113var utils = require ( './utils' ) ;
110- var spread = require ( './spread' ) ;
111114
112115var axios = module . exports = function axios ( config ) {
113116 config = utils . merge ( {
114117 method : 'get' ,
118+ headers : { } ,
115119 transformRequest : defaults . transformRequest ,
116120 transformResponse : defaults . transformResponse
117121 } , config ) ;
@@ -134,8 +138,23 @@ var axios = module.exports = function axios(config) {
134138 }
135139 } ) ;
136140
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+
137154 // Provide alias for success
138155 promise . success = function success ( fn ) {
156+ deprecatedMethod ( 'success' , 'then' , 'https://github.com/mzabriskie/axios/blob/master/README.md#response-api' ) ;
157+
139158 promise . then ( function ( response ) {
140159 fn ( response . data , response . status , response . headers , response . config ) ;
141160 } ) ;
@@ -144,6 +163,8 @@ var axios = module.exports = function axios(config) {
144163
145164 // Provide alias for error
146165 promise . error = function error ( fn ) {
166+ deprecatedMethod ( 'error' , 'catch' , 'https://github.com/mzabriskie/axios/blob/master/README.md#response-api' ) ;
167+
147168 promise . then ( null , function ( response ) {
148169 fn ( response . data , response . status , response . headers , response . config ) ;
149170 } ) ;
@@ -160,7 +181,7 @@ axios.defaults = defaults;
160181axios . all = function ( promises ) {
161182 return Promise . all ( promises ) ;
162183} ;
163- axios . spread = spread ;
184+ axios . spread = require ( './helpers/ spread' ) ;
164185
165186// Provide aliases for supported request methods
166187createShortMethods ( 'delete' , 'get' , 'head' ) ;
@@ -189,11 +210,63 @@ function createShortMethodsWithData() {
189210 } ) ;
190211}
191212} ) . 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 ) {
193214'use strict' ;
194215
195216var utils = require ( './utils' ) ;
196217
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+
197270function encode ( val ) {
198271 return encodeURIComponent ( val ) .
199272 replace ( / % 4 0 / gi, '@' ) .
@@ -235,10 +308,10 @@ module.exports = function buildUrl(url, params) {
235308
236309 return url ;
237310} ;
238- } , { "./utils" :11 } ] , 5 :[ function ( require , module , exports ) {
311+ } , { "./../ utils" :11 } ] , 6 :[ function ( require , module , exports ) {
239312'use strict' ;
240313
241- var utils = require ( './utils' ) ;
314+ var utils = require ( './../ utils' ) ;
242315
243316module . exports = {
244317 write : function write ( name , value , expires , path , domain , secure ) {
@@ -273,52 +346,10 @@ module.exports = {
273346 this . write ( name , '' , Date . now ( ) - 86400000 ) ;
274347 }
275348} ;
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 ) {
319350'use strict' ;
320351
321- var utils = require ( './utils' ) ;
352+ var utils = require ( './../ utils' ) ;
322353
323354/**
324355 * Parse headers into an object
@@ -350,7 +381,7 @@ module.exports = function parseHeaders(headers) {
350381
351382 return parsed ;
352383} ;
353- } , { "./utils" :11 } ] , 8 :[ function ( require , module , exports ) {
384+ } , { "./../ utils" :11 } ] , 8 :[ function ( require , module , exports ) {
354385/**
355386 * Syntactic sugar for invoking a function and expanding an array for arguments.
356387 *
@@ -379,7 +410,7 @@ module.exports = function spread(callback) {
379410} , { } ] , 9 :[ function ( require , module , exports ) {
380411'use strict' ;
381412
382- var utils = require ( './utils' ) ;
413+ var utils = require ( './../ utils' ) ;
383414
384415/**
385416 * Transform the data for a request or a response
@@ -396,11 +427,11 @@ module.exports = function transformData(data, headers, fns) {
396427
397428 return data ;
398429} ;
399- } , { "./utils" :11 } ] , 10 :[ function ( require , module , exports ) {
430+ } , { "./../ utils" :11 } ] , 10 :[ function ( require , module , exports ) {
400431'use strict' ;
401432
402433var 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' ) ;
404435var urlParsingNode = document . createElement ( 'a' ) ;
405436var originUrl = urlResolve ( window . location . href ) ;
406437
@@ -447,7 +478,7 @@ module.exports = function urlIsSameOrigin(requestUrl) {
447478 return ( parsed . protocol === originUrl . protocol &&
448479 parsed . host === originUrl . host ) ;
449480} ;
450- } , { "./utils" :11 } ] , 11 :[ function ( require , module , exports ) {
481+ } , { "./../ utils" :11 } ] , 11 :[ function ( require , module , exports ) {
451482// utils is a library of generic helper functions non-specific to axios
452483
453484var toString = Object . prototype . toString ;
@@ -462,6 +493,30 @@ function isArray(val) {
462493 return toString . call ( val ) === '[object Array]' ;
463494}
464495
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+
465520/**
466521 * Determine if a value is a String
467522 *
@@ -482,6 +537,16 @@ function isNumber(val) {
482537 return typeof val === 'number' ;
483538}
484539
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+
485550/**
486551 * Determine if a value is an Object
487552 *
@@ -603,9 +668,12 @@ function merge(obj1/*, obj2, obj3, ...*/) {
603668
604669module . exports = {
605670 isArray : isArray ,
671+ isArrayBuffer : isArrayBuffer ,
672+ isArrayBufferView : isArrayBufferView ,
606673 isString : isString ,
607674 isNumber : isNumber ,
608675 isObject : isObject ,
676+ isUndefined : isUndefined ,
609677 isDate : isDate ,
610678 isFile : isFile ,
611679 isBlob : isBlob ,
@@ -1231,6 +1299,8 @@ var process = module.exports = {};
12311299process . nextTick = ( function ( ) {
12321300 var canSetImmediate = typeof window !== 'undefined'
12331301 && window . setImmediate ;
1302+ var canMutationObserver = typeof window !== 'undefined'
1303+ && window . MutationObserver ;
12341304 var canPost = typeof window !== 'undefined'
12351305 && window . postMessage && window . addEventListener
12361306 ;
@@ -1239,8 +1309,29 @@ process.nextTick = (function () {
12391309 return function ( f ) { return window . setImmediate ( f ) } ;
12401310 }
12411311
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+
12421334 if ( canPost ) {
1243- var queue = [ ] ;
12441335 window . addEventListener ( 'message' , function ( ev ) {
12451336 var source = ev . source ;
12461337 if ( ( source === window || source === null ) && ev . data === 'process-tick' ) {
@@ -1280,7 +1371,7 @@ process.emit = noop;
12801371
12811372process . binding = function ( name ) {
12821373 throw new Error ( 'process.binding is not supported' ) ;
1283- }
1374+ } ;
12841375
12851376// TODO(shtylman)
12861377process . cwd = function ( ) { return '/' } ;
@@ -1327,7 +1418,9 @@ defaultsPrototype.forceTrailingSlash = '';
13271418
13281419defaultsPrototype . httpConfig = { } ;
13291420
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 ( ) {
13311424} ;
13321425
13331426defaultsPrototype . deserialize = function ( resourceName , data ) {
0 commit comments