autumn-js
Version:
Autumn JS Library
67 lines (65 loc) • 1.77 kB
JavaScript
import {
secretKeyCheck
} from "./chunk-UNZHJTEY.mjs";
import {
createRouterWithOptions
} from "./chunk-OFKRGNWA.mjs";
import "./chunk-HGB236VV.mjs";
import "./chunk-ZGI3AYWD.mjs";
import "./chunk-S46FBNO3.mjs";
import "./chunk-NCJ2TKEX.mjs";
import "./chunk-TUGNGQW2.mjs";
import "./chunk-UJBSJTAV.mjs";
import {
Autumn
} from "./chunk-UJN5NVTZ.mjs";
import "./chunk-SGEUXFOF.mjs";
import {
autumnApiUrl
} from "./chunk-KSG3E4Q2.mjs";
// src/libraries/backend/hono.ts
import { findRoute } from "rou3";
var autumnHandler = (options) => {
const autumn = new Autumn({
url: options.url || autumnApiUrl,
version: options.version,
secretKey: options.secretKey
});
const router = createRouterWithOptions();
const { found, error: resError } = secretKeyCheck(options?.secretKey);
return async (c, next) => {
if (!found && !options.secretKey) {
return c.json(resError, 500);
}
const request = new URL(c.req.url);
const path = request.pathname;
const searchParams = Object.fromEntries(request.searchParams);
const match = findRoute(router, c.req.method, path);
if (match) {
const { data, params: pathParams } = match;
const { handler } = data;
let body = null;
if (c.req.method === "POST" || c.req.method === "PUT" || c.req.method === "PATCH") {
try {
body = await c.req.json();
} catch (error) {
}
}
const result = await handler({
autumn,
body,
path: c.req.path,
getCustomer: async () => {
return await options.identify(c);
},
pathParams,
searchParams
});
return c.json(result.body, result.statusCode);
}
await next();
};
};
export {
autumnHandler
};