mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
Add support for baseURL parameter
This commit is contained in:
Vendored
+1
@@ -49,6 +49,7 @@ declare module axios {
|
|||||||
xsrfCookieName?: string;
|
xsrfCookieName?: string;
|
||||||
xsrfHeaderName?: string;
|
xsrfHeaderName?: string;
|
||||||
paramsSerializer?: (params: any) => string;
|
paramsSerializer?: (params: any) => string;
|
||||||
|
baseURL?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface RequestOptions extends InstanceOptions {
|
interface RequestOptions extends InstanceOptions {
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ var defaults = require('./defaults');
|
|||||||
var utils = require('./utils');
|
var utils = require('./utils');
|
||||||
var dispatchRequest = require('./core/dispatchRequest');
|
var dispatchRequest = require('./core/dispatchRequest');
|
||||||
var InterceptorManager = require('./core/InterceptorManager');
|
var InterceptorManager = require('./core/InterceptorManager');
|
||||||
|
var isAbsoluteURL = require('./helpers/isAbsoluteURL');
|
||||||
|
var combineURLs = require('./helpers/combineURLs');
|
||||||
|
|
||||||
function Axios (defaultConfig) {
|
function Axios (defaultConfig) {
|
||||||
this.defaultConfig = utils.merge({
|
this.defaultConfig = utils.merge({
|
||||||
@@ -29,6 +31,10 @@ Axios.prototype.request = function (config) {
|
|||||||
|
|
||||||
config = utils.merge(this.defaultConfig, { method: 'get' }, config);
|
config = utils.merge(this.defaultConfig, { method: 'get' }, config);
|
||||||
|
|
||||||
|
if (config.baseURL && !isAbsoluteURL(config.url)) {
|
||||||
|
config.url = combineURLs(config.baseURL, config.url);
|
||||||
|
}
|
||||||
|
|
||||||
// Don't allow overriding defaults.withCredentials
|
// Don't allow overriding defaults.withCredentials
|
||||||
config.withCredentials = config.withCredentials || defaults.withCredentials;
|
config.withCredentials = config.withCredentials || defaults.withCredentials;
|
||||||
|
|
||||||
|
|||||||
@@ -78,4 +78,42 @@ describe('options', function () {
|
|||||||
done();
|
done();
|
||||||
}, 0);
|
}, 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should accept base URL', function (done) {
|
||||||
|
var request;
|
||||||
|
|
||||||
|
const instance = axios.create({
|
||||||
|
baseURL: 'http://test.com/'
|
||||||
|
});
|
||||||
|
|
||||||
|
instance.request({
|
||||||
|
url: '/foo'
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
request = jasmine.Ajax.requests.mostRecent();
|
||||||
|
|
||||||
|
expect(request.url).toBe('http://test.com/foo');
|
||||||
|
done();
|
||||||
|
}, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should ignore base URL if request URL is absolute', function (done) {
|
||||||
|
var request;
|
||||||
|
|
||||||
|
const instance = axios.create({
|
||||||
|
baseURL: 'http://someurl.com/'
|
||||||
|
});
|
||||||
|
|
||||||
|
instance.request({
|
||||||
|
url: 'http://someotherurl.com/'
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
request = jasmine.Ajax.requests.mostRecent();
|
||||||
|
|
||||||
|
expect(request.url).toBe('http://someotherurl.com/');
|
||||||
|
done();
|
||||||
|
}, 0);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user