UNPKG

@universal-middleware/sirv

Version:
62 lines (58 loc) 1.79 kB
import { bindUniversal, universalSymbol, getAdapterRuntime, serveStatic } from './chunk-APV2JR36.js'; // ../adapter-srvx/dist/index.js function createMiddleware(middlewareFactory) { return (...args) => { const middleware = middlewareFactory(...args); return bindUniversal(middleware, async function universalMiddlewareSrvx(request, next) { const context = initContext(request); const response = await this[universalSymbol](request, context, getRuntime(request)); if (typeof response === "function") { const res = await next(); return await response(res) ?? res; } else if (response !== null && typeof response === "object") { if (response instanceof Response) { return response; } setContext(request, response); return next(); } else { return next(); } }); }; } function initContext(request) { let ctx = getContext(request); if (ctx === void 0) { ctx = {}; setContext(request, ctx); } return ctx; } function setContext(request, value) { request.context = value; } function getContext(request) { return request.context; } function getRuntime(request) { return getAdapterRuntime( "srvx", { params: void 0, srvx: request }, { env: request.runtime?.cloudflare?.env, ctx: { waitUntil: request.waitUntil?.bind(request), passThroughOnException: request.runtime?.cloudflare?.context.passThroughOnException }, req: request.runtime?.node?.req, res: request.runtime?.node?.res } ); } // virtual:universal-middleware:virtual:universal-middleware:srvx:middleware:src/middleware.ts var middleware_default = createMiddleware(serveStatic); export { middleware_default as default };