Hey folks!
I have a SvelteKit app deployed through Pages (so my server endpoints are counted as Workers from a CF perspective).
In my page server load function (+page.server.ts) I have this:
// +page.server.ts
async function fetchRecentStuff(event: ServerLoadEvent){
const url = '/api/stuff/recents'; // Also tried with absolute url: https://example.com/api/stuff/recents
const response = await event.fetch(url);
const recentStuff = await response.json();
return recentStuff;
}
export const load: PageServerLoad = async (event) => {
const stuff = await getStuff(event);
return { stuff }
};
And in the called endpoint:
// /routes/api/stuff/recents/+server.ts
async function getRecentStuff() {...}
async function getUserProfile(event) {...}
export const GET: RequestHandler = async (event) => {
const mongoUser = await app.logIn(credentials);
const mongoClient = mongoUser.mongoClient('mongodb');
const userProfile = await getUserProfile(event)
const recentStuff = await getRecentStuff(mongoClient, userProfile);
return json(recentStuff);
};
My goal is to cache that request to /api/stuff/recents at the edge level, so I setup the attached rule.
My problem is it actually doesn't cache the request response. Maybe you have an hint? 🙂