From 219a1c29aba0d29d2f1898578ca9e354ae44642d Mon Sep 17 00:00:00 2001 From: mzabriskie Date: Tue, 29 Sep 2015 00:04:00 -0600 Subject: [PATCH] Supporting a fetch like API --- lib/axios.js | 8 ++++---- test/specs/requests.spec.js | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/axios.js b/lib/axios.js index 479be82..6937894 100644 --- a/lib/axios.js +++ b/lib/axios.js @@ -6,11 +6,11 @@ var dispatchRequest = require('./core/dispatchRequest'); var InterceptorManager = require('./core/InterceptorManager'); var axios = module.exports = function (config) { - // Allow for axios('example/url') + // Allow for axios('example/url'[, config]) a la fetch API if (typeof config === 'string') { - config = { - url: config - }; + config = utils.merge({ + url: arguments[0] + }, arguments[1]); } config = utils.merge({ diff --git a/test/specs/requests.spec.js b/test/specs/requests.spec.js index 4edc4b2..b436d41 100644 --- a/test/specs/requests.spec.js +++ b/test/specs/requests.spec.js @@ -18,6 +18,23 @@ describe('requests', function () { request = jasmine.Ajax.requests.mostRecent(); expect(request.url).toBe('/foo'); + expect(request.method).toBe('GET'); + done(); + }, 0); + }); + + it('should allow string arg as url, and config arg', function (done) { + var request; + + axios('/foo', { + method: 'POST' + }); + + setTimeout(function () { + request = jasmine.Ajax.requests.mostRecent(); + + expect(request.url).toBe('/foo'); + expect(request.method).toBe('POST'); done(); }, 0); });