From 2d4a83bf90c9e4fbc752b211cf6030ec7d7bd24d Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 27 Dec 2022 18:12:18 +0100 Subject: [PATCH] adapt static adapter to cloudflare --- frontend/.nvmrc | 2 +- frontend/svelte.config.js | 17 +++++++++-------- functions/api/[[path]].ts | 18 ++++++++++++------ 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/frontend/.nvmrc b/frontend/.nvmrc index f19250f95d..7fd023741b 100644 --- a/frontend/.nvmrc +++ b/frontend/.nvmrc @@ -1 +1 @@ -v17.9.0 +v16.15.0 diff --git a/frontend/svelte.config.js b/frontend/svelte.config.js index 077ad4aff9..4f23266118 100644 --- a/frontend/svelte.config.js +++ b/frontend/svelte.config.js @@ -1,7 +1,6 @@ import preprocess from 'svelte-preprocess' import adapter from '@sveltejs/adapter-static' - /** @type {import('@sveltejs/kit').Config} */ const config = { // Consult https://github.com/sveltejs/svelte-preprocess @@ -13,13 +12,15 @@ const config = { ], kit: { - adapter: process.env.CLOUDFLARE ? staticAdapter({ pages: 'build', assets: 'build', fallback: 'index.html' }) : adapter({ - // default options are shown - pages: 'build', - assets: 'build', - fallback: '200.html' - }), - prerender: { entries: [] }, + adapter: process.env.CLOUDFLARE + ? adapter({ pages: 'build', assets: 'build', fallback: 'index.html', precompress: false }) + : adapter({ + // default options are shown + pages: 'build', + assets: 'build', + fallback: '200.html' + }), + prerender: { entries: [] } } } diff --git a/functions/api/[[path]].ts b/functions/api/[[path]].ts index 27afd3e745..57291ec60f 100644 --- a/functions/api/[[path]].ts +++ b/functions/api/[[path]].ts @@ -1,6 +1,6 @@ //this is purely for cloudflare pages redirection purposes -export async function onRequest(context: EventContext) { +export async function onRequest(context) { // Contents of context object const { request, // same as existing Worker API @@ -11,9 +11,15 @@ export async function onRequest(context: EventContext) data, // arbitrary space for passing data between middlewares } = context - 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' }) - res.headers.set('set-cookie', res.headers.get('set-cookie')?.replace('Domain=windmill.dev;', '') ?? '') - return res + 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', newResponse.headers.get('set-cookie')?.replace('Domain=windmill.dev;', '') ?? '') + return newResponse + } catch (e) { + return new Response(e.message, { status: 500 }) + } + }