diff --git a/README.md b/README.md index ee99033..151264f 100755 --- a/README.md +++ b/README.md @@ -218,6 +218,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 8407a96..811cb36 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*/