From ab2e8689f5b9968da3d4e7998036cfd7d4406693 Mon Sep 17 00:00:00 2001 From: xynydev <60004820+xynydev@users.noreply.github.com> Date: Mon, 22 Apr 2024 20:10:17 +0300 Subject: [PATCH] fix: implement keeping cloudflare function open while logstream runs? --- src/routes/api/github/createRepo/+server.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/routes/api/github/createRepo/+server.ts b/src/routes/api/github/createRepo/+server.ts index 03f3b12..a5f60cd 100644 --- a/src/routes/api/github/createRepo/+server.ts +++ b/src/routes/api/github/createRepo/+server.ts @@ -2,7 +2,16 @@ import { ghApiGet, ghApiPost, ghApiPut } from "$lib/ts/github/api"; import { createLogStream } from "$lib/ts/misc/logStream"; import type { Endpoints } from "@octokit/types"; -export async function POST({ request, cookies }): Promise { +export async function POST({ request, cookies, platform }): Promise { + let done = false; + async function waitForDone() { + while (!done) { + await new Promise((r) => setTimeout(r, 100)); + } + return null; + } + platform?.context.waitUntil(waitForDone()); + return await createLogStream(async (log) => { const token = cookies.get("github_oauth_token"); if (token === undefined) throw new Error("Not logged in"); @@ -111,5 +120,6 @@ export async function POST({ request, cookies }): Promise { // } log("Initial repository setup DONE!"); + done = true; }); }