source: server/telefunc-handler.ts@ d4842f4

main
Last change on this file since d4842f4 was c30935a, checked in by Tome <gjorgievtome@…>, 7 months ago

fix config

  • Property mode set to 100644
File size: 1.0 KB
RevLine 
[66bf4fd]1import type { Database } from "../database/drizzle/db";
[8ee4553]2import { enhance, type UniversalHandler } from "@universal-middleware/core";
3import { telefunc } from "telefunc";
[c30935a]4import type { Session } from "@auth/core/types";
[8ee4553]5
[c30935a]6const telefuncHandler: UniversalHandler = enhance(
[8ee4553]7 async (request, context, runtime) => {
8 const httpResponse = await telefunc({
9 url: request.url.toString(),
10 method: request.method,
11 body: await request.text(),
12 context: {
[c30935a]13 ...(context as { db: Database; session?: Session | null }),
14 ...runtime,
15 session: (context as { session?: Session | null }).session ?? null,
16 request,
17 }
[8ee4553]18 });
19 const { body, statusCode, contentType } = httpResponse;
20 return new Response(body, {
21 status: statusCode,
22 headers: {
23 "content-type": contentType,
24 },
25 });
26 },
27 {
[66bf4fd]28 name: "pc-forge:telefunc-handler",
[8ee4553]29 path: `/_telefunc`,
30 method: ["GET", "POST"],
31 immutable: false,
32 },
33);
[c30935a]34export default telefuncHandler
Note: See TracBrowser for help on using the repository browser.