routeLinear

import { routeLinear } from "jsr:@ende/http/unstable-route";

function ยท experimental

function routeLinear(routes: Route[], defaultHandler: RequestHandler): RequestHandler

Routes requests to handlers using a linear scan over all routes.

routes: Route[]

Route configurations

defaultHandler: RequestHandler

Default request handler

Returns

Request handler

Example: Usage

import { routeLinear, type Route } from "@ende/http/unstable-route";

const routes: Route[] = [
  {
    pattern: new URLPattern({ pathname: "/about" }),
    handler: () => new Response("About page"),
  },
  {
    pattern: new URLPattern({ pathname: "/users/:id" }),
    method: "GET",
    handler: (_req, params) => new Response(params.pathname.groups.id),
  },
];

function defaultHandler(_req: Request) {
  return new Response("Not found", { status: 404 });
}

Ende.serve(routeLinear(routes, defaultHandler));

Source