diff options
Diffstat (limited to 'hooks/mod.ts')
-rwxr-xr-x | hooks/mod.ts | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/hooks/mod.ts b/hooks/mod.ts index bef822e..8771bea 100755 --- a/hooks/mod.ts +++ b/hooks/mod.ts @@ -1,23 +1,25 @@ #!/usr/bin/env -S deno run --allow-env --allow-net --allow-run -import { getRequiredEnv, getStdout, validateIdentifier } from "@liz-ci/utils"; +import { + getRequiredEnv, + getStdout, + loggerWithPrefix, + validateIdentifier, +} from "@liz-ci/utils"; const getRequestLogger = (req: Request) => { - const id = crypto.randomUUID(); const url = new URL(req.url); - const method = req.method; const getPrefix = () => - `[${new Date().toISOString()}] Request [${id}] @ [${url}] -X [${method}] |`; - return { - log: (...args: unknown[]) => console.log(getPrefix(), ...args), - error: (...args: unknown[]) => console.error(getPrefix(), ...args), - }; + `[${ + new Date().toISOString() + }] RequestTrace=[${crypto.randomUUID()}] @ [${url.pathname}] -X [${req.method}] |`; + return loggerWithPrefix(getPrefix); }; const addr = { port: 9000, hostname: "0.0.0.0" }; Deno.serve(addr, async (req) => { const logger = getRequestLogger(req); - logger.log("Request initiated"); + logger.log("start"); try { const { pathname } = new URL(req.url); @@ -45,7 +47,7 @@ Deno.serve(addr, async (req) => { if (pathname === "/checkout_ci") { const { remote, rev, refname } = await req.json(); if (![remote, rev, refname].every(validateIdentifier)) { - logger.log("invalid reqwest\n"); + logger.log("invalid reqwest"); return new Response("invalid reqwest >:D\n", { status: 400, }); @@ -59,17 +61,17 @@ Deno.serve(addr, async (req) => { `rev="${rev}"`, `refname="${refname}"`, ]); - logger.log(`successful queue :D\n` + laminar); - return new Response(laminar, { + logger.log(`successful queue :D`, laminar); + return new Response(laminar + "\n", { status: 200, }); } return new Response("idk what that is bro :((\n", { status: 404 }); } catch (e) { - logger.error("Uncaught exception", e); + logger.error("uncaught exception", e); return new Response("womp womp D:\n", { status: 500 }); } finally { - logger.log("Request finished."); + logger.log("finish"); } }); |