diff --git a/README.md b/README.md index d1f94c8f77..cae54e6a2d 100755 --- a/README.md +++ b/README.md @@ -215,6 +215,7 @@ The available instance methods are listed below. The specified config will be me ##### axios#post(url[, data[, config]]) ##### axios#put(url[, data[, config]]) ##### axios#patch(url[, data[, config]]) +##### axios#getUri([config]) ## Request Config diff --git a/lib/core/Axios.js b/lib/core/Axios.js index 8407a96a9f..811cb36498 100644 --- a/lib/core/Axios.js +++ b/lib/core/Axios.js @@ -1,6 +1,7 @@ 'use strict'; var utils = require('./../utils'); +var buildURL = require('../helpers/buildURL'); var InterceptorManager = require('./InterceptorManager'); var dispatchRequest = require('./dispatchRequest'); var mergeConfig = require('./mergeConfig'); @@ -55,6 +56,11 @@ Axios.prototype.request = function request(config) { return promise; }; +Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); +}; + // Provide aliases for supported request methods utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { /*eslint func-names:0*/