From 4f98acc57860721c639f94f5772138b2af273301 Mon Sep 17 00:00:00 2001 From: Anthony Gauthier Date: Tue, 7 Aug 2018 13:52:30 -0400 Subject: [PATCH] Add getUri method (#1712) * Added getUri method * Removed usage of "url" * added method to README --- README.md | 1 + lib/core/Axios.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index ee99033ab2..151264f40e 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 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*/