autumn-js
Version:
Autumn JS Library
79 lines (77 loc) • 1.64 kB
JavaScript
import "./chunk-WYDGEDEU.mjs";
import "./chunk-VXND2UDT.mjs";
import "./chunk-TOVDM235.mjs";
import {
createCoreHandler
} from "./chunk-RHDPT37C.mjs";
import "./chunk-TSF4YCUO.mjs";
import {
buildRouter
} from "./chunk-UAR3TMWI.mjs";
import "./chunk-UQRKOR63.mjs";
import {
routeConfigs
} from "./chunk-NHBJ3QDV.mjs";
import "./chunk-IXUCY7AU.mjs";
import "./chunk-OTXV5FY7.mjs";
import {
sanitizeBody
} from "./chunk-I7CD6EB6.mjs";
import {
secretKeyCheck
} from "./chunk-VZIMT7AO.mjs";
import "./chunk-TBQ27LIK.mjs";
import "./chunk-J44WR3QZ.mjs";
import {
backendError,
backendSuccess,
isBackendResult
} from "./chunk-N7NFYY54.mjs";
// src/backend/index.ts
async function autumnHandler(options) {
const {
request,
customerId,
customerData,
clientOptions,
pathPrefix,
routes
} = options;
const handler = createCoreHandler({
identify: async () => ({
customerId: customerId ?? null,
customerData
}),
secretKey: clientOptions?.secretKey,
autumnURL: clientOptions?.baseURL,
pathPrefix,
routes
});
let url;
if (!request.url.includes("http")) {
url = new URL(request.url, "http://localhost:3000");
} else {
url = new URL(request.url);
}
const result = await handler({
method: request.method,
path: url.pathname,
body: request.body,
raw: request
});
return {
statusCode: result.status,
response: result.status === 204 ? null : result.body
};
}
export {
autumnHandler,
backendError,
backendSuccess,
buildRouter,
createCoreHandler,
isBackendResult,
routeConfigs,
sanitizeBody,
secretKeyCheck
};