mirror of
https://github.com/tenrok/axios.git
synced 2026-06-14 18:42:33 +03:00
* fix: prevent request url override prevent request URL from overriding preconfigured base URL BREAKING CHANGE: code relying on the above will now combine the URLs instead of prefer request URL * feat: add config option for allowing absolute URLs * fix: add default value for allowAbsoluteUrls in buildFullPath * fix: typo in flow control when setting allowAbsoluteUrls * feat: update tests supporting issue #5902 functionality * feat: update README.md with allowAbsoluteUrls * fix: properly group conditions in buildFullPath.js to avoid undefined error when baseUrl undefined * Update README.md fix typo * fix: update build full path logic to address failing test case * fix: update base URL test * fix: remove problem test (works locally, will not work in the pipeline) * fix: update https test to use github.com instead of google.com * fix: revert previous commit * fix: add back problem test * chore: remove un-needed passed var to URL class instanciation --------- Co-authored-by: Austin Ryan Lawson <ryan.lawson2@gmail.com> Co-authored-by: Jay <jasonsaayman@gmail.com>
This commit is contained in:
@@ -5,10 +5,14 @@ describe('helpers::buildFullPath', function () {
|
||||
expect(buildFullPath('https://api.github.com', '/users')).toBe('https://api.github.com/users');
|
||||
});
|
||||
|
||||
it('should return the requestedURL when it is absolute', function () {
|
||||
it('should not combine the URLs when the requestedURL is absolute', function () {
|
||||
expect(buildFullPath('https://api.github.com', 'https://api.example.com/users')).toBe('https://api.example.com/users');
|
||||
});
|
||||
|
||||
it('should combine the URLs when the requestedURL is absolute and allowAbsoluteUrls is false', function () {
|
||||
expect(buildFullPath('https://api.github.com', 'https://api.example.com/users', false)).toBe('https://api.github.com/https://api.example.com/users');
|
||||
});
|
||||
|
||||
it('should not combine URLs when the baseURL is not configured', function () {
|
||||
expect(buildFullPath(undefined, '/users')).toBe('/users');
|
||||
});
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import AxiosHeaders from "../../lib/core/AxiosHeaders.js";
|
||||
// import AxiosHeaders from "../../lib/core/AxiosHeaders.js";
|
||||
// import isAbsoluteURL from '../../lib/helpers/isAbsoluteURL.js';
|
||||
|
||||
describe('options', function () {
|
||||
beforeEach(function () {
|
||||
@@ -63,8 +64,7 @@ describe('options', function () {
|
||||
baseURL: 'http://test.com/'
|
||||
});
|
||||
|
||||
instance.get('/foo');
|
||||
|
||||
instance.get('/foo')
|
||||
getAjaxRequest().then(function (request) {
|
||||
expect(request.url).toBe('http://test.com/foo');
|
||||
done();
|
||||
@@ -100,6 +100,21 @@ describe('options', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('should combine the URLs if base url and request url exist and allowAbsoluteUrls is false', function (done) {
|
||||
const instance = axios.create({
|
||||
baseURL: 'http://someurl.com/',
|
||||
allowAbsoluteUrls: false
|
||||
});
|
||||
|
||||
instance.get('http://someotherurl.com/');
|
||||
|
||||
getAjaxRequest().then(function (request) {
|
||||
expect(request.url).toBe('http://someotherurl.com/');
|
||||
done();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
it('should change only the baseURL of the specified instance', function() {
|
||||
const instance1 = axios.create();
|
||||
const instance2 = axios.create();
|
||||
|
||||
Reference in New Issue
Block a user