api

router.ch

Declarations in router.ch

1 declarationshttp

Declarations

Public only
web#
Publicnamespace
namespace web
===== Router + middleware =====
Handler#
Publictypealias
type Handler = function<func(Request, ResponseWriter) : void>
Middleware#
Publictypealias
type Middleware = function<func(Handler) : Handler>
Route#
Publicstruct
struct Route { var method : string var pattern : string var handler : Handler }
delete#
function
func delete(self : *Route) : void
Router#
Publicstruct
struct Router { var routes : vector<Route> var middlewares : vector<Middleware> }
constructor#
PublicfunctionConstructor
func constructor() : Router
add#
Publicfunction
func add(self : &Router, method : *char, pattern : *char, h : Handler) : void
use_middleware#
Publicfunction
func use_middleware(self : &Router, m : Middleware) : void
match_route#
Publicfunction
func match_route(self : &Router, method : &string, path : &string, params_out : *vector<pair<string, string>>) : *Route
apply_middlewares#
Publicfunction
func apply_middlewares(self : &Router, base : Handler) : Handler
delete#
function
func delete(self : *Router) : void
match_pattern#
Publicfunction
func match_pattern(pattern : &string, path : &string, params_out : *vector<pair<string, string>>) : bool
split_segments#
Publicfunction
func split_segments(s : &string) : vector<string>