import { Hono } from "hono"; import { logger } from "hono/logger"; import { trimTrailingSlash } from "hono/trailing-slash"; import { cors } from "hono/cors"; import { NS_error } from "../../../packages/lib/helpers/client/error"; import { Movies111Router } from "./sub-router/111movies"; import { VidvaultRouter } from "./sub-router/vidvault"; import { VidlinkproRouter } from "./sub-router/vidlinkpro"; import { VidsrcRouter } from "./sub-router/vidsrc"; import { NS_runtime } from "../../../packages/lib/env.runtime"; import { VideasyRouter } from "./sub-router/videasy"; import { vidupRouter } from "./sub-router/vidup"; import { VidcoreRouter } from "./sub-router/vidcore"; import { vidnestRouter } from "./sub-router/vidnest"; import { XpassRouter } from "./sub-router/xpass"; await NS_runtime.set_env_var_db(); const PORT = process.env.PORT; const APP_ENV = process.env.APP_ENV || NS_runtime.ENV_VAR_DB?.X_OFFLINE; const X_OFFLINE = process.env.X_OFFLINE || NS_runtime.ENV_VAR_DB?.X_OFFLINE; const APP_ORIGIN = process.env.APP_ORIGIN; const REPO_ORIGIN = process.env.REPO_ORIGIN || NS_runtime.ENV_VAR_DB?.X_OFFLINE; const app = new Hono({ strict: true }); app.use( trimTrailingSlash(), logger(), cors({ origin: "*", allowHeaders: ["*"], exposeHeaders: ["*"] }) ); app.get("/", (c) => { return c.text("๐Ÿ”ฅ Hello Rafiki! ๐Ÿฟโ˜๏ธ๐Ÿ‘ท๐Ÿพ"); }); app.get("/sha", (c) => { return c.text("๐Ÿง‘๐Ÿพโ€โš•๏ธ Afya Njema โค๏ธโ€๐Ÿฉนโ˜๏ธ๐Ÿ‘ท๐Ÿพ"); }); app.route("/", Movies111Router); app.route("/", VidlinkproRouter); app.route("/", VidsrcRouter); app.route("/", VidvaultRouter); app.route("/", VideasyRouter); app.route("/", vidupRouter); app.route("/", VidcoreRouter); app.route("/", vidnestRouter); app.route("/", XpassRouter); app.onError((error, c) => { const { status, message } = NS_error.F_collect_error_status_n_message({ ERR: error }); return c.json( { error: JSON.stringify(message) }, status ); }); export default { port: PORT, fetch: app.fetch, idleTimeout: 59, ...(NS_runtime.IS_PROD ? { hostname: "0.0.0.0" } : {}) };