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,