From 9cb6486c71b1bb510630b02b1cb0c01a8766a196 Mon Sep 17 00:00:00 2001 From: "Samir L. Boulema" Date: Tue, 5 May 2020 14:12:41 +0200 Subject: [PATCH] Proper path parameter replacement --- functions/templating.js | 2 +- pages/index.vue | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/functions/templating.js b/functions/templating.js index 68d009cfd..b83e808e2 100644 --- a/functions/templating.js +++ b/functions/templating.js @@ -3,5 +3,5 @@ export default function parseTemplateString(string, variables) { return string } const searchTerm = /<<([^>]*)>>/g // "<>" - return string.replace(searchTerm, (match, p1) => variables[p1] || "") + return decodeURI(string).replace(searchTerm, (match, p1) => variables[p1] || "") } diff --git a/pages/index.vue b/pages/index.vue index 7cbeacbbb..e07093356 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1590,11 +1590,10 @@ export default { set(value) { this.$store.commit("setState", { value, attribute: "uri" }) let url = value - if ((this.preRequestScript && this.showPreRequestScript) || hasPathParams(this.params)) { let environmentVariables = getEnvironmentVariablesFromScript(this.preRequestScript) environmentVariables = addPathParamsToVariables(this.params, environmentVariables) - url = parseTemplateString(url, environmentVariables) + url = parseTemplateString(value, environmentVariables) } try { url = new URL(url) @@ -2161,6 +2160,7 @@ export default { const body = (this.response.body = payload.data) const date = new Date().toLocaleDateString() const time = new Date().toLocaleTimeString() + // Addition of an entry to the history component. const entry = { label: this.requestName, @@ -2175,6 +2175,13 @@ export default { duration, star: false, } + + if ((this.preRequestScript && this.showPreRequestScript) || hasPathParams(this.params)) { + let environmentVariables = getEnvironmentVariablesFromScript(this.preRequestScript) + environmentVariables = addPathParamsToVariables(this.params, environmentVariables) + entry.path = parseTemplateString(entry.path, environmentVariables) + } + this.$refs.historyComponent.addEntry(entry) if (fb.currentUser !== null) { if (fb.currentSettings[2].value) { @@ -2200,6 +2207,13 @@ export default { usesScripts: Boolean(this.preRequestScript), preRequestScript: this.preRequestScript, } + + if ((this.preRequestScript && this.showPreRequestScript) || hasPathParams(this.params)) { + let environmentVariables = getEnvironmentVariablesFromScript(this.preRequestScript) + environmentVariables = addPathParamsToVariables(this.params, environmentVariables) + entry.path = parseTemplateString(entry.path, environmentVariables) + } + this.$refs.historyComponent.addEntry(entry) if (fb.currentUser !== null) { if (fb.currentSettings[2].value) {