Add function name as variable accessible from scripts through the name: FUNCTION_NAME

This commit is contained in:
Peter Stockings
2023-12-22 17:59:01 +11:00
parent 7cc8787e10
commit aa92108fbd

View File

@@ -24,6 +24,7 @@ async function executeUserCode(
code, code,
requestObject, requestObject,
environment = {}, environment = {},
name,
timeout = TIMEOUT_MS timeout = TIMEOUT_MS
) { ) {
const logs = []; const logs = [];
@@ -111,6 +112,9 @@ async function executeUserCode(
}; };
}; };
//Set Function name as environment variable
const FUNCTION_NAME = name;
// Dynamically import node-fetch // Dynamically import node-fetch
const fetch = await import("node-fetch").then((module) => module.default); const fetch = await import("node-fetch").then((module) => module.default);
@@ -141,6 +145,7 @@ async function executeUserCode(
JsonResponse, JsonResponse,
HtmlResponse, HtmlResponse,
TextResponse, TextResponse,
FUNCTION_NAME,
}, },
require: { require: {
external: true, external: true,
@@ -175,11 +180,17 @@ async function executeUserCode(
} }
app.post("/execute", async (req, res) => { app.post("/execute", async (req, res) => {
const { code, request, environment } = req.body; const { code, request, environment, name } = req.body;
const timeout = req.query.timeout || TIMEOUT_MS; const timeout = req.query.timeout || TIMEOUT_MS;
const result = await executeUserCode(code, request, environment, timeout); const result = await executeUserCode(
code,
request,
environment,
timeout,
name
);
res.send(result); res.send(result);
}); });