login

<     >

2023-07-20 11:57:12 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

don't cache self.title and self.limit

diff --git a/cogit/cogit.lua b/cogit/cogit.lua
index 705ab65..445756d 100644
--- a/cogit/cogit.lua
+++ b/cogit/cogit.lua
@@ -111,8 +111,6 @@ function Cogit:get_user(cookies)
 end
 
 function Cogit:routes()
-    local title = self.title
-    local limit = self.limit
     return {
     {"GET", "/?",
     function (req)
@@ -124,7 +122,7 @@ function Cogit:routes()
                 table.insert(gnames, gname)
             end
         end
-        local env = {title=title, user=user, gnames=gnames}
+        local env = {title=self.title, user=user, gnames=gnames}
         return lud.template.render_file("view/home.html", env)
     end},
     {"GET", "/login",
@@ -133,7 +131,7 @@ function Cogit:routes()
         if user ~= nil then  -- already logged in
             return "/", 303
         else
-            return lud.template.render_file("view/login.html", {title=title})
+            return lud.template.render_file("view/login.html", {title=self.title})
         end
     end},
     {"POST", "/login",
@@ -154,8 +152,7 @@ function Cogit:routes()
                 local session_id = lud.crypt.b64_enc(lud.crypt.uuid4())
                 self.sessions[session_id] = uname
                 self:log(LOG_INFO, "logged in as "..uname)
-                local age = self.session_age
-                local cookie = {key="sid", val=session_id, path="/", age=age}
+                local cookie = {key="sid", val=session_id, path="/", age=self.session_age}
                 return "/", 303, "See Other", {cookie}
             else
                 self:log(LOG_INFO, "invalid password")
@@ -182,7 +179,7 @@ function Cogit:routes()
         for rname in pairs(self.groups[gname]) do
             table.insert(rnames, rname)
         end
-        local env = {title=title, user=user, gname=gname, rnames=rnames}
+        local env = {title=self.title, user=user, gname=gname, rnames=rnames}
         return lud.template.render_file("view/group.html", env)
     end},
     {"GET", "/group/([%w_-]+)/repo/([%w_-]+)",
@@ -195,7 +192,7 @@ function Cogit:routes()
         local bnames = repo:branches()
         local tnames = repo:tags()
         local env = {
-            title=title, user=user, repo=repo, gname=gname,
+            title=self.title, user=user, repo=repo, gname=gname,
             rname=rname, bnames=bnames, tnames=tnames,
         }
         return lud.template.render_file("view/repo.html", env)
@@ -208,10 +205,10 @@ function Cogit:routes()
         end
         local repo = self.groups[gname][rname]
         local commit = repo:commit(first)
-        local prev = repo:find_prev(commit:id(), limit)
+        local prev = repo:find_prev(commit:id(), self.limit)
         local env = {
-            title=title, user=user, gname=gname, rname=rname, bname=bname,
-            commit=commit, limit=limit, prev=prev, first=first,
+            title=self.title, user=user, gname=gname, rname=rname, bname=bname,
+            commit=commit, limit=self.limit, prev=prev, first=first,
         }
         return lud.template.render_file("view/history.html", env)
     end},
@@ -228,7 +225,7 @@ function Cogit:routes()
         local time_str = time_fmt(sig)
         local diff = repo:diff(commit, diff_cb)
         local env = {
-            title=title, user=user, gname=gname, rname=rname, bname=bname,
+            title=self.title, user=user, gname=gname, rname=rname, bname=bname,
             commit=commit, time_str=time_str, sig=sig, cid=cid, prev=prev, diff=diff,
         }
         return lud.template.render_file("view/commit.html", env)
@@ -254,7 +251,7 @@ function Cogit:routes()
             base = base .. "/"
         end
         local env = {
-            title=title, user=user, gname=gname, rname=rname, cid=cid,
+            title=self.title, user=user, gname=gname, rname=rname, cid=cid,
             path=path, base=base, parts=parts, node=node,
         }
         if node.type_ == "dir" then
@@ -272,7 +269,7 @@ local function new_cogit(path, port, title, log_level)
         port=tonumber(port) or 8080,
         title=title or "cogit",
         log_level=log_levels[log_level or "INFO"],
-        limit=20,
+        limit=25,
         session_age=3*24*60*60,
         sessions={},
         initialized=false,