From 764d001ef65815a6fabbf9e8ef706aaef286c488 Mon Sep 17 00:00:00 2001 From: Hydrophobefireman Date: Sun, 10 May 2020 20:44:51 +0530 Subject: [PATCH] produce valid output when showing/copying code Currently when copying a json request as fetch, it outputs a javascript object instead of a stringified version, which is not valid for a fetch request. --- pages/index.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pages/index.vue b/pages/index.vue index a8e110c6c..65a3707fa 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1941,7 +1941,7 @@ export default { requestString.push( `xhr.setRequestHeader('Content-Type', '${this.contentType}; charset=utf-8')` ) - requestString.push(`xhr.send(${requestBody})`) + requestString.push(`xhr.send("${requestBody}")`) } else { requestString.push("xhr.send()") } @@ -1960,7 +1960,13 @@ export default { headers.push(` "Authorization": "Bearer ${this.bearerToken}",\n`) } if (["POST", "PUT", "PATCH"].includes(this.method)) { - const requestBody = this.rawInput ? this.rawParams : this.rawRequestBody + let requestBody = this.rawInput ? this.rawParams : this.rawRequestBody + if (this.contentType.includes("json")) { + requestBody = `JSON.stringify("${requestBody}")`; + } else if (this.contentType.includes("x-www-form-urlencoded")) { + requestBody = `"${requestBody}"`; + } + requestString.push(` body: ${requestBody},\n`) headers.push(` "Content-Length": ${requestBody.length},\n`) headers.push(` "Content-Type": "${this.contentType}; charset=utf-8",\n`)