Skip to main content
Module

x/fastro/server/router.ts

Fast and simple web application framework for deno
Go to Latest
File
import { HandlerArgument, PathArgument, Route, Router } from "./types.ts"
export function router(): Router { const routes: Map<string, Route> = new Map() const LOCALHOST = "localhost"
const instance = { routes, get: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("GET", path, handlers) }, post: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("POST", path, handlers) }, put: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("PUT", path, handlers) }, delete: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("DELETE", path, handlers) }, patch: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("PATCH", path, handlers) }, head: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("HEAD", path, handlers) }, options: (path: PathArgument, ...handlers: HandlerArgument[]) => { return createRoute("OPTIONS", path, handlers) }, }
function createRoute( method: string, path: PathArgument, handlers: HandlerArgument[], ) { routes.set(`${method}#${LOCALHOST}#${path}`, { method, path, handlers }) return instance }
return instance}