mirror of
https://github.com/JonasunderscoreJones/api.jonasjones.dev.git
synced 2025-10-23 12:09:19 +02:00
31 lines
848 B
TypeScript
31 lines
848 B
TypeScript
// @ts-ignore entry point will get replaced
|
|
import worker from "__ENTRY_POINT__";
|
|
// @ts-ignore entry point will get replaced
|
|
export * from "__ENTRY_POINT__";
|
|
import { isRoutingRuleMatch } from "./pages-dev-util";
|
|
|
|
// @ts-ignore routes are injected
|
|
const routes = __ROUTES__;
|
|
|
|
export default <ExportedHandler<{ ASSETS: Fetcher }>>{
|
|
fetch(request, env, context) {
|
|
const { pathname } = new URL(request.url);
|
|
|
|
for (const exclude of routes.exclude) {
|
|
if (isRoutingRuleMatch(pathname, exclude)) {
|
|
return env.ASSETS.fetch(request);
|
|
}
|
|
}
|
|
|
|
for (const include of routes.include) {
|
|
if (isRoutingRuleMatch(pathname, include)) {
|
|
if (worker.fetch === undefined) {
|
|
throw new TypeError("Entry point missing `fetch` handler");
|
|
}
|
|
return worker.fetch(request, env, context);
|
|
}
|
|
}
|
|
|
|
return env.ASSETS.fetch(request);
|
|
},
|
|
};
|