annotate framework/env/request/default_router.lua @ 239:1d2b463a65b0
Modified global_metatable.__newindex metamethod
 | author | jbe | 
 | date | Sun Mar 01 00:09:47 2015 +0100 (2015-03-01) | 
 | parents | 4ab91adeab6f | 
 | children | db79324a13fe | 
 
 | 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@236 | 15   local module, action, view, id, suffix | 
| jbe@221 | 16   if path == "" then | 
| jbe@216 | 17     return {module = "index", view = "index"} | 
| jbe@216 | 18   end | 
| jbe@221 | 19   module = string.match(path, "^([^/]+)/$") | 
| jbe@216 | 20   if module then | 
| jbe@216 | 21     return {module = module, view = "index"} | 
| jbe@215 | 22   end | 
| jbe@221 | 23   module, action = string.match(path, "^([^/]+)/([^/.]+)$") | 
| jbe@216 | 24   if module then | 
| jbe@216 | 25     return {module = module, action = action} | 
| jbe@215 | 26   end | 
| jbe@221 | 27   module, view, suffix = string.match(path, "^([^/]+)/([^/.]+)%.([^/]+)$") | 
| jbe@216 | 28   if module then | 
| jbe@216 | 29     return {module = module, view = view, suffix = suffix} | 
| jbe@216 | 30   end | 
| jbe@221 | 31   module, view, id, suffix = string.match(path, "^([^/]+)/([^/]+)/([^/.]+)%.([^/]+)$") | 
| jbe@216 | 32   if module then | 
| jbe@216 | 33     return {module = module, view = view, id = id, suffix = suffix} | 
| jbe@216 | 34   end | 
| jbe@216 | 35   return nil | 
| jbe@216 | 36 end | 
| jbe@210 | 37 | 
| jbe@216 | 38 --//-- |