UNPKG

autumn-js

Version:
69 lines (66 loc) 1.52 kB
import { buildRouter } from "./chunk-UAR3TMWI.mjs"; import { Autumn } from "./chunk-UQRKOR63.mjs"; import { routeConfigs } from "./chunk-NHBJ3QDV.mjs"; import { executeRoute } from "./chunk-IXUCY7AU.mjs"; import { secretKeyCheck } from "./chunk-VZIMT7AO.mjs"; // src/backend/core/handlers/coreHandler.ts import { findRoute } from "rou3"; var DEFAULT_PATH_PREFIX = "/api/autumn"; var createCoreHandler = (options) => { const { identify, secretKey, autumnURL, pathPrefix = DEFAULT_PATH_PREFIX, routes = routeConfigs } = options; const router = buildRouter({ pathPrefix, routes }); return async (request) => { const keyCheck = secretKeyCheck(secretKey); if (!keyCheck.found) { return { status: keyCheck.error.statusCode, body: keyCheck.error }; } const autumn = new Autumn({ secretKey: secretKey || process.env.AUTUMN_SECRET_KEY, ...autumnURL && { serverURL: autumnURL } }); const match = findRoute(router, request.method, request.path); if (!match) { return { status: 404, body: { message: "Not found", code: "not_found", statusCode: 404 } }; } const { route } = match.data; const result = await executeRoute({ autumn, route, body: request.body, getCustomer: () => identify(request.raw) }); return { status: result.statusCode, body: result.body }; }; }; export { createCoreHandler };