Skip to main content
Module

x/fastro/server/router.ts

Fast and simple web application framework for deno
Go to Latest
File
import { Handler } from "./deps.ts"import { Middleware, Route, Router } from "./types.ts"
export function Route(): Router { const routerMap: Map<string, Route> = new Map() const instance: Router = { get, post, put, patch, head, options, delete: remove, router: routerMap, }
function createRoute( method: string, path: string | RegExp, middleware: Handler | Middleware, handler: Handler, ) { const route = { method, path, middleware, handler } routerMap.set(`${method}#localhost#${path}`, route) return instance }
function get(path: string | RegExp, middleware: Middleware, handler: Handler): Router { return createRoute("GET", path, middleware, handler) }
function post(path: string | RegExp, middleware: Middleware, handler: Handler): Router { return createRoute("POST", path, middleware, handler) }
function put(path: string | RegExp, middleware: Middleware, handler: Handler): Router { return createRoute("PUT", path, middleware, handler) }
function patch(path: string | RegExp, middleware: Middleware, handler: Handler): Router { return createRoute("PATCH", path, middleware, handler) }
function remove(path: string | RegExp, middleware: Middleware, handler: Handler): Router { return createRoute("DELETE", path, middleware, handler) }
function head(path: string | RegExp, middleware: Middleware, handler: Handler): Router { return createRoute("HEAD", path, middleware, handler) }
function options( path: string | RegExp, middleware: Middleware, handler: Handler, ): Router { return createRoute("OPTIONS", path, middleware, handler) }
return instance}