annotate env/request/router.lua @ 1525:628e1b9126c0
Handle no valid session in session filter correctly
 | author | 
 bsw | 
 | date | 
 Thu Aug 20 15:55:04 2020 +0200 (2020-08-20) | 
 | parents | 
 71f54c43d7cb  | 
 | children | 
 45fd259aa1ad  | 
 
 | rev | 
   line source | 
| 
bsw/jbe@1309
 | 
     1 local api_endpoints = {
 | 
| 
bsw/jbe@1309
 | 
     2   instance = true,
 | 
| 
bsw/jbe@1309
 | 
     3   navigation = true,
 | 
| 
bsw/jbe@1309
 | 
     4   style = true,
 | 
| 
bsw/jbe@1309
 | 
     5   application = true,
 | 
| 
bsw/jbe@1309
 | 
     6   info = true,
 | 
| 
bsw/jbe@1309
 | 
     7   member = true,
 | 
| 
bsw/jbe@1309
 | 
     8   notify_email = true,
 | 
| 
bsw/jbe@1309
 | 
     9   profile_info = true,
 | 
| 
bsw/jbe@1309
 | 
    10   profile = true,
 | 
| 
bsw/jbe@1309
 | 
    11   settings_info = true,
 | 
| 
bsw/jbe@1309
 | 
    12   settings = true,
 | 
| 
bsw@1498
 | 
    13   event = true,
 | 
| 
bsw@1500
 | 
    14   support = true,
 | 
| 
bsw@1498
 | 
    15   embed_initiative = true
 | 
| 
bsw/jbe@1309
 | 
    16 }
 | 
| 
bsw/jbe@1309
 | 
    17 
 | 
| 
bsw/jbe@1309
 | 
    18 function request.router()
 | 
| 
bsw/jbe@1309
 | 
    19   
 | 
| 
bsw/jbe@1309
 | 
    20   local api_prefix = "api/1/"
 | 
| 
bsw/jbe@1309
 | 
    21   
 | 
| 
bsw/jbe@1309
 | 
    22   local path = request.get_path()
 | 
| 
bsw/jbe@1309
 | 
    23   
 | 
| 
bsw/jbe@1309
 | 
    24   if path == api_prefix .. "register" then
 | 
| 
bsw/jbe@1309
 | 
    25     return { module = "oauth2", view = "register" }
 | 
| 
bsw/jbe@1309
 | 
    26   elseif path == api_prefix .. "authorization" then
 | 
| 
bsw/jbe@1309
 | 
    27     return { module = "oauth2", view = "authorization" }
 | 
| 
bsw/jbe@1309
 | 
    28   elseif path == api_prefix .. "token" then
 | 
| 
bsw/jbe@1309
 | 
    29     return { module = "oauth2", view = "token" }
 | 
| 
bsw/jbe@1309
 | 
    30   elseif path == api_prefix .. "validate" then
 | 
| 
bsw/jbe@1309
 | 
    31     return { module = "oauth2", view = "validate" }
 | 
| 
bsw/jbe@1309
 | 
    32   elseif path == api_prefix .. "session" then
 | 
| 
bsw/jbe@1309
 | 
    33     return { module = "oauth2", view = "session" }
 | 
| 
bsw/jbe@1309
 | 
    34   else
 | 
| 
bsw/jbe@1309
 | 
    35     local endpoint = string.match(path, "^" .. api_prefix .. "(.*)$")
 | 
| 
bsw/jbe@1309
 | 
    36     if api_endpoints[endpoint] then
 | 
| 
bsw/jbe@1309
 | 
    37       return { module = "api", view = endpoint }
 | 
| 
bsw/jbe@1309
 | 
    38     end
 | 
| 
bsw/jbe@1309
 | 
    39   end
 | 
| 
bsw/jbe@1309
 | 
    40   
 | 
| 
bsw/jbe@1309
 | 
    41   return request.default_router(path)
 | 
| 
bsw/jbe@1309
 | 
    42   
 | 
| 
bsw/jbe@1309
 | 
    43 end
 |