mirror of
https://github.com/tale/headplane.git
synced 2026-08-29 08:27:08 +00:00
feat: add fate vite integration
This commit is contained in:
+11
-3
@@ -1,9 +1,11 @@
|
||||
import { versions } from "node:process";
|
||||
|
||||
import { serveStatic } from "@hono/node-server/serve-static";
|
||||
import { createHonoFateHandler } from "@nkzw/fate/server";
|
||||
import { Hono, type Context } from "hono";
|
||||
|
||||
import type { AppContext } from "./context";
|
||||
import { fate, type HonoFateEnv } from "./fate";
|
||||
|
||||
interface HonoAppOptions {
|
||||
context: AppContext;
|
||||
@@ -12,7 +14,13 @@ interface HonoAppOptions {
|
||||
}
|
||||
|
||||
export function createHeadplaneHonoApp({ context, prefix, staticRoot }: HonoAppOptions) {
|
||||
const app = new Hono();
|
||||
const app = new Hono<HonoFateEnv>();
|
||||
const fateHandler = createHonoFateHandler(fate);
|
||||
|
||||
app.use("*", async (c, next) => {
|
||||
c.set("appContext", context);
|
||||
await next();
|
||||
});
|
||||
|
||||
const health = async (c: Context) => {
|
||||
const api = context.hsApi.getRuntimeClient("fake-api-key");
|
||||
@@ -86,8 +94,8 @@ export function createHeadplaneHonoApp({ context, prefix, staticRoot }: HonoAppO
|
||||
}
|
||||
});
|
||||
|
||||
app.all(`${prefix}/fate`, (c) => c.json({ error: "Fate server is not mounted yet" }, 501));
|
||||
app.all(`${prefix}/fate/*`, (c) => c.json({ error: "Fate server is not mounted yet" }, 501));
|
||||
app.all(`${prefix}/fate`, fateHandler);
|
||||
app.all(`${prefix}/fate/*`, fateHandler);
|
||||
|
||||
if (staticRoot) {
|
||||
const stripPrefix = (path: string) => path.slice(prefix.length) || "/";
|
||||
|
||||
Reference in New Issue
Block a user