Files
windmill/functions/api/[[path]].ts
2023-04-27 12:19:41 +02:00

38 lines
1.1 KiB
TypeScript

//this is purely for cloudflare pages redirection purposes
export async function onRequest(context) {
// Contents of context object
const {
request, // same as existing Worker API
env, // same as existing Worker API
params, // if filename includes [id] or [[path]]
waitUntil, // same as ctx.waitUntil in existing Worker API
next, // used for middleware or to fetch assets
data, // arbitrary space for passing data between middlewares
} = context;
try {
const url = new URL(request.url);
url.hostname = "app.windmill.dev";
const res = await fetch(url.toString(), {
method: request.method,
body: request.body,
headers: request.headers,
redirect: "manual",
});
const newResponse = new Response(res.body, res);
newResponse.headers.set(
"set-cookie",
"token" +
newResponse.headers
.get("set-cookie")
?.replace("Domain=windmill.dev;", "")
?.split("token")
.pop() ?? ""
);
return newResponse;
} catch (e) {
return new Response(e.message, { status: 500 });
}
}