diff --git a/src/lib/CurlHelper.js b/src/lib/CurlHelper.js index 1c6a6e9..5619179 100644 --- a/src/lib/CurlHelper.js +++ b/src/lib/CurlHelper.js @@ -57,7 +57,13 @@ export class CurlHelper { getUrl() { if (this.request.baseURL) { - return this.request.baseURL + "/" + this.request.url; + let baseUrl = this.request.baseURL + let url = this.request.url + let finalUrl = baseUrl + "/" + url + return finalUrl + .replace(/\/{2,}/g, '/') + .replace("http:/", "http://") + .replace("https:/", "https://") } return this.request.url; } diff --git a/tests/curlirize.spec.js b/tests/curlirize.spec.js index 7062a0d..a6a6c40 100644 --- a/tests/curlirize.spec.js +++ b/tests/curlirize.spec.js @@ -141,6 +141,22 @@ describe("Testing curlirize", () => { console.error(err); }); }); + + it("cut middle slash", (done) => { + const api = axios.create({ + baseURL: 'http://localhost:7500/', + }) + curlirize(api) + api.post("/api/", null, {params: {test: 1, text: 'sim'}}) + .then((res) => { + expect(res.config.curlCommand).toBeDefined(); + expect(res.config.curlCommand).toBe('curl -X POST "http://localhost:7500/api/?test=1&text=sim" -H "Content-Type:application/x-www-form-urlencoded"'); + done(); + }) + .catch((err) => { + console.error(err); + }); + }); }); describe("Testing curl-helper module", () => {