UNPKG

@fedify/elysia

Version:

Integrate Fedify with Elysia

36 lines (35 loc) 1.01 kB
//#region src/index.ts const fedify = (federation, contextDataFactory) => { return (app) => app.decorate("federation", federation).onRequest(async ({ request, set, federation: federation$1 }) => { let notFound = false; let notAcceptable = false; const contextData = await contextDataFactory(request); const response = await federation$1.fetch(request, { contextData, onNotFound: () => { notFound = true; return new Response("Not found", { status: 404 }); }, onNotAcceptable: () => { notAcceptable = true; return new Response("Not acceptable", { status: 406, headers: { "Content-Type": "text/plain", Vary: "Accept" } }); } }); if (!notFound && !notAcceptable) { set.status = response.status; response.headers.forEach((value, key) => { set.headers[key] = value; }); if (response.body) return response; return new Response(null, { status: response.status }); } }).as("global"); }; //#endregion export { fedify };