login

<     >

2023-07-19 17:12:14 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

make get_user() a Cogit method

diff --git a/cogit/cogit.lua b/cogit/cogit.lua
index d47cc25..becf486 100644
--- a/cogit/cogit.lua
+++ b/cogit/cogit.lua
@@ -77,18 +77,6 @@ function Cogit:finish()
     self.initialized = false
 end
 
-local function get_user(cookies)
-    local session_id = cookies["sid"]
-    if session_id == nil then
-        return nil
-    end
-    local uname = sessions[session_id]
-    if uname == nil then
-        return nil
-    end
-    return conf.users[uname]
-end
-
 function Cogit:run()
     self:init()
     self:log(LOG_INFO, "server running on port "..self.conf.port)
@@ -109,14 +97,26 @@ function Cogit:log(level, msg)
     end
 end
 
+function Cogit:get_user(cookies)
+    local session_id = cookies["sid"]
+    if session_id == nil then
+        return nil
+    end
+    local uname = sessions[session_id]
+    if uname == nil then
+        return nil
+    end
+    return self.conf.users[uname]
+end
+
 function Cogit:routes()
-    conf = self.conf
+    local conf = self.conf
     title = conf.title
     sessions = self.sessions
     return {
     {"GET", "/?",
     function (req)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         local gnames = {}
         self:scan()
         for gname in pairs(self.groups) do
@@ -129,7 +129,7 @@ function Cogit:routes()
     end},
     {"GET", "/login",
     function (req)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         if user ~= nil then  -- already logged in
             return "/", 303
         else
@@ -174,7 +174,7 @@ function Cogit:routes()
     end},
     {"GET", "/group/([%w_-]+)",
     function (req, gname)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         if not allowed(user, gname) then
             return "/login", 303
         end
@@ -187,7 +187,7 @@ function Cogit:routes()
     end},
     {"GET", "/group/([%w_-]+)/repo/([%w_-]+)",
     function (req, gname, rname)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         if not allowed(user, gname) then
             return "/login", 303
         end
@@ -202,7 +202,7 @@ function Cogit:routes()
     end},
     {"GET", "/group/([%w_-]+)/repo/([%w_-]+)/history/([%w_-]+)",
     function (req, gname, rname, first)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         if not allowed(user, gname) then
             return "/login", 303
         end
@@ -217,7 +217,7 @@ function Cogit:routes()
     end},
     {"GET", "/group/([%w_-]+)/repo/([%w_-]+)/commit/([%w_-]+)",
     function (req, gname, rname, cid)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         if not allowed(user, gname) then
             return "/login", 303
         end
@@ -235,7 +235,7 @@ function Cogit:routes()
     end},
     {"GET", "/group/([%w_-]+)/repo/([%w_-]+)/commit/([%w_-]+)/tree/(.*)",
     function (req, gname, rname, cid, path)
-        local user = get_user(req.cookies)
+        local user = self:get_user(req.cookies)
         if not allowed(user, gname) then
             return "/login", 303
         end