webmcp

annotate framework/env/request/default_router.lua @ 216:fd0360594636

Work on request.process(...), request.default_router(...), request.router(), request.handler(...)
author jbe
date Mon Jan 12 03:02:26 2015 +0100 (2015-01-12)
parents ba3dd4a17e3d
children 25a20bd1f416
rev   line source
jbe@216 1 --[[--
jbe@216 2 route =
jbe@216 3 request.default_router(
jbe@216 4 path -- URL path, including a leading slash
jbe@216 5 )
jbe@210 6
jbe@216 7 Default conversion from a path to a route. Called by request.router().
jbe@216 8
jbe@216 9 --]]--
jbe@215 10
jbe@215 11 function request.default_router(path)
jbe@216 12 if not path then
jbe@216 13 return nil
jbe@216 14 end
jbe@216 15 if not string.match(path, "^/") then
jbe@216 16 path = "/" .. path
jbe@216 17 end
jbe@216 18 if path == "/" then
jbe@216 19 return {module = "index", view = "index"}
jbe@216 20 end
jbe@216 21 module = string.match(path, "^/([^/]+)/$")
jbe@216 22 if module then
jbe@216 23 return {module = module, view = "index"}
jbe@215 24 end
jbe@216 25 module, action = string.match(path, "^/([^/]+)/([^/.]+)$")
jbe@216 26 if module then
jbe@216 27 return {module = module, action = action}
jbe@215 28 end
jbe@216 29 module, view, suffix = string.match(path, "^/([^/]+)/([^/.]+)%.([^/]+)$")
jbe@216 30 if module then
jbe@216 31 return {module = module, view = view, suffix = suffix}
jbe@216 32 end
jbe@216 33 module, view, id, suffix = string.match(path, "^/([^/]+)/([^/]+)/([^/.]+)%.([^/]+)$")
jbe@216 34 if module then
jbe@216 35 return {module = module, view = view, id = id, suffix = suffix}
jbe@216 36 end
jbe@216 37 return nil
jbe@216 38 end
jbe@210 39
jbe@216 40 --//--

Impressum / About Us