diff options
Diffstat (limited to 'server.go')
| -rw-r--r-- | server.go | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -58,7 +58,22 @@ func NewServer(opts ServerOptions) (srv *Server, err error) { return nil, fmt.Errorf(`%s: %w`, logp, err) } - srv.pageIndexTmpl, err = template.ParseFS(wwwFS, `_www/index.tmpl`) + srv.pageIndexTmpl = template.New("index.html").Funcs(template.FuncMap{ + `reverse`: func(rev []ScanReport) (ver []ScanReport) { + var size = len(rev) + ver = make([]ScanReport, size) + for x := 0; x < len(rev); x++ { + ver[size-x-1] = rev[x] + } + return ver + }, + }) + var tmplraw []byte + tmplraw, err = wwwFS.ReadFile(`_www/index.tmpl`) + if err != nil { + return nil, err + } + srv.pageIndexTmpl, err = srv.pageIndexTmpl.Parse(string(tmplraw)) if err != nil { return nil, err } @@ -154,15 +169,16 @@ func (srv *Server) update() { c = 0 srv.pageIndexMutex.Lock() - srv.worker.reportsMutex.Lock() + srv.worker.Reports.Lock() srv.pageIndexBody.Reset() - err = srv.pageIndexTmpl.Execute(&srv.pageIndexBody, &srv.worker.Reports) + err = srv.pageIndexTmpl.Execute(&srv.pageIndexBody, + &srv.worker.Reports) if err != nil { log.Printf(`update: pageIndexTmpl: %s`, err) } - srv.worker.reportsMutex.Unlock() + srv.worker.Reports.Unlock() srv.pageIndexMutex.Unlock() } } |
