webmcp

annotate framework/env/request/default_router.lua @ 451:32b79658e5ae

Fixed wrong documentation (no leading slash in request.get_path)
author jbe
date Thu Jul 21 13:01:34 2016 +0200 (2016-07-21)
parents 545ec2e3eafa
children
rev   line source
jbe@216 1 --[[--
jbe@216 2 route =
jbe@216 3 request.default_router(
jbe@451 4 path -- URL path without 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@221 15 if path == "" then
jbe@216 16 return {module = "index", view = "index"}
jbe@216 17 end
jbe@347 18 local static = string.match(path, "^static/([-./0-9A-Z_a-z]*)$")
jbe@250 19 if static then
jbe@358 20 -- Note: sanitizer is in request.handler(...)
jbe@347 21 return {static = static}
jbe@250 22 end
jbe@250 23 local module, action, view, id, suffix
jbe@221 24 module = string.match(path, "^([^/]+)/$")
jbe@216 25 if module then
jbe@216 26 return {module = module, view = "index"}
jbe@215 27 end
jbe@221 28 module, action = string.match(path, "^([^/]+)/([^/.]+)$")
jbe@216 29 if module then
jbe@216 30 return {module = module, action = action}
jbe@215 31 end
jbe@221 32 module, view, suffix = string.match(path, "^([^/]+)/([^/.]+)%.([^/]+)$")
jbe@216 33 if module then
jbe@216 34 return {module = module, view = view, suffix = suffix}
jbe@216 35 end
jbe@221 36 module, view, id, suffix = string.match(path, "^([^/]+)/([^/]+)/([^/.]+)%.([^/]+)$")
jbe@216 37 if module then
jbe@216 38 return {module = module, view = view, id = id, suffix = suffix}
jbe@216 39 end
jbe@216 40 return nil
jbe@216 41 end
jbe@210 42
jbe@216 43 --//--

Impressum / About Us