From 8d494cdf3b80b168a724fe486e65bf2392605c25 Mon Sep 17 00:00:00 2001 From: Michael Wolf Date: Fri, 7 Mar 2025 15:24:32 -0600 Subject: [PATCH] Reformat; fix some problems --- deno/app.ts | 93 +++++++++++++++++++++++++++-------------------------- 1 file changed, 48 insertions(+), 45 deletions(-) diff --git a/deno/app.ts b/deno/app.ts index db71c60..7ec9e1b 100644 --- a/deno/app.ts +++ b/deno/app.ts @@ -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 { + 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);