Reformat; fix some problems

This commit is contained in:
Michael Wolf
2025-03-07 15:24:32 -06:00
parent 5a08baab5e
commit 8d494cdf3b

View File

@@ -1,45 +1,48 @@
// app.ts
import { services } from "./services";
import{DenoRequest, Method, ProcessedRoute, Request, Route} from './types'
import {routes} from './routes'
services.logging.log({ foo: 1 });
const processedRoutes: ProcessedRoute[] = routes.map(
(route: Route, idx: number, allRoutes: Route[]) => {
const pattern: URLPattern = new URLPattern({ pathname: route.path });
const method: Method = route.method;
const handler = async (denoRequest: DenoRequest) => {
const req: Request = {
pattern: route.pattern,
path: denoRequest.path,
method: denoRequest.method,
parameters: { one: 1, two: 2 },
denoRequest,
};
return route.handler(req);
};
const retval: ProcessedRoute = { pattern, method, handler };
return retval
},
);
async function handler(req: globalThis.Request): globalThis.Response {
for (const [idx, pr] of processedRoutes.entries()) {
const match = pr.pattern.exec(req.url);
if (match) {
const resp = await pr.handler(req);
return new globalThis.Response(resp.result);
}
}
return new globalThis.Response("not found", { status: 404 });
}
Deno.serve(handler);
import { services } from "./services.ts";
import {
DenoRequest,
massageMethod,DenoResponse,
Method,
ProcessedRoute,
Request,
Route,
} from "./types.ts";
import { routes } from "./routes.ts";
services.logging.log({ source: "logging", text: ["1"] });
const processedRoutes: ProcessedRoute[] = routes.map(
(route: Route, _idx: number, _allRoutes: Route[]) => {
const pattern: URLPattern = new URLPattern({ pathname: route.path });
const method: Method = route.method;
const handler = async (denoRequest: DenoRequest) => {
const req: Request = {
pattern: route.pattern,
path: denoRequest.path,
method: massageMethod(denoRequest.method),
parameters: { one: 1, two: 2 },
denoRequest,
};
return route.handler(req);
};
const retval: ProcessedRoute = { pattern, method, handler };
return retval;
},
);
async function handler(req: DenoRequest): Promise<DenoResponse> {
for (const [idx, pr] of processedRoutes.entries()) {
const match = pr.pattern.exec(req.url);
if (match) {
const resp = await pr.handler(req);
return new globalThis.Response(resp.result);
}
}
return new globalThis.Response("not found", { status: 404 });
}
Deno.serve(handler);