annotate framework/env/request/default_router.lua @ 220:e69251d4ba0e
Bugfix: call execute.prefork_initializers() only once in mcp.lua
 | author | jbe | 
 | date | Sun Feb 22 17:16:13 2015 +0100 (2015-02-22) | 
 | parents | fd0360594636 | 
 | 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 --//-- |