diff options
Diffstat (limited to 'hooks/mod.ts')
-rwxr-xr-x | hooks/mod.ts | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/hooks/mod.ts b/hooks/mod.ts index ef44d25..cc29e43 100755 --- a/hooks/mod.ts +++ b/hooks/mod.ts @@ -19,35 +19,37 @@ Deno.serve(addr, async (req) => { const logger = getRequestLogger(req); logger.log("Request initiated"); - const { pathname } = new URL(req.url); - if (pathname === "/health") { - try { - getRequiredEnv("LAMINAR_HOST"); - await getStdout(["laminarc", "show-jobs"]); - return new Response("think im healthy. lets get to work.", { - status: 200, - }); - } catch (e) { - logger.error(e); - return new Response("i need to eat more vegetables -.-", { status: 500 }); + try { + const { pathname } = new URL(req.url); + if (pathname === "/health") { + try { + getRequiredEnv("LAMINAR_HOST"); + await getStdout(["laminarc", "show-jobs"]); + return new Response("think im healthy!! lets get to work.\n", { + status: 200, + }); + } catch (e) { + logger.error(e); + return new Response("i need to eat more vegetables -.-\n", { + status: 500, + }); + } } - } - - if (req.method !== "POST") { - return new Response("invalid method", { - status: 405, - }); - } - if (pathname === "/checkout_ci") { - const { remote, rev, refname } = await req.json(); - if (![remote, rev, refname].every(validateIdentifier)) { - return new Response("invalid request", { - status: 400, + if (req.method !== "POST") { + return new Response("invalid method", { + status: 405, }); } - try { + if (pathname === "/checkout_ci") { + const { remote, rev, refname } = await req.json(); + if (![remote, rev, refname].every(validateIdentifier)) { + return new Response("invalid request", { + status: 400, + }); + } + const laminar = await getStdout([ "laminarc", "queue", @@ -56,17 +58,17 @@ Deno.serve(addr, async (req) => { `rev="${rev}"`, `refname="${refname}"`, ]); - logger.log(`successful ci queue :D\n` + laminar); + logger.log(`successful queue :D\n` + laminar); return new Response(laminar, { status: 200, }); - } catch (e) { - logger.error(e); - return new Response("womp womp D:", { - status: 500, - }); } - } - return new Response("ahhhh idkkkk", { status: 404 }); + return new Response("idk what that is bro\n", { status: 404 }); + } catch (e) { + logger.error("Uncaught exception", e); + return new Response("womp womp D:\n", { status: 500 }); + } finally { + logger.log("Request finished."); + } }); |