diff --git a/cli/package-lock.json b/cli/package-lock.json index 3a3b9f9a99..389c61161f 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -18,6 +18,7 @@ "node-emoji": "^1.11.0", "reflect-metadata": "^0.1.13", "typescript": "^4.7.4", + "urlencode": "^1.1.0", "yaml": "^2.1.3" }, "bin": { @@ -218,6 +219,17 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -311,6 +323,11 @@ "resolved": "https://registry.npmmirror.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", @@ -347,6 +364,14 @@ "node": ">=4.2.0" } }, + "node_modules/urlencode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz", + "integrity": "sha512-OOAOh9owHXr/rCN1tteSnYwIvsrGHamSz0hafMhmQa7RcS4+Ets6/2iVClVGjt9jkDW84UqoMw/Gmpc7QolX6A==", + "dependencies": { + "iconv-lite": "~0.4.11" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -508,6 +533,14 @@ "path-is-absolute": "^1.0.0" } }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -584,6 +617,11 @@ "resolved": "https://registry.npmmirror.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", @@ -607,6 +645,14 @@ "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.3.tgz", "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==" }, + "urlencode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz", + "integrity": "sha512-OOAOh9owHXr/rCN1tteSnYwIvsrGHamSz0hafMhmQa7RcS4+Ets6/2iVClVGjt9jkDW84UqoMw/Gmpc7QolX6A==", + "requires": { + "iconv-lite": "~0.4.11" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/cli/package.json b/cli/package.json index 834df0a924..b7f8cc0a82 100644 --- a/cli/package.json +++ b/cli/package.json @@ -38,6 +38,7 @@ "node-emoji": "^1.11.0", "reflect-metadata": "^0.1.13", "typescript": "^4.7.4", + "urlencode": "^1.1.0", "yaml": "^2.1.3" } } diff --git a/cli/src/api/debug.ts b/cli/src/api/debug.ts index 591cd471e2..60bb1104e1 100644 --- a/cli/src/api/debug.ts +++ b/cli/src/api/debug.ts @@ -1,9 +1,10 @@ import axios, { AxiosRequestConfig, AxiosRequestHeaders, AxiosResponse } from "axios"; +import * as urlencode from 'urlencode' export async function invokeFunction(invokeUrl: string, token: string, funcName: string, data: any): Promise<{ res: any; requestId: string; }> { const header: AxiosRequestHeaders | any = { 'x-laf-debug-token': token, - 'x-laf-func-data': JSON.stringify(data), + 'x-laf-func-data': urlencode(JSON.stringify(data)), }; const res = await request({ url: invokeUrl + '/' + funcName, method: "GET", headers: header }) return {