diff options
Diffstat (limited to 'third_party/gerrit-queue/frontend/frontend.go')
-rw-r--r-- | third_party/gerrit-queue/frontend/frontend.go | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/third_party/gerrit-queue/frontend/frontend.go b/third_party/gerrit-queue/frontend/frontend.go deleted file mode 100644 index 2cc65423f0e6..000000000000 --- a/third_party/gerrit-queue/frontend/frontend.go +++ /dev/null @@ -1,113 +0,0 @@ -package frontend - -import ( - "embed" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - - "html/template" - - "github.com/apex/log" - - "github.com/tweag/gerrit-queue/gerrit" - "github.com/tweag/gerrit-queue/misc" - "github.com/tweag/gerrit-queue/submitqueue" -) - -//go:embed templates -var templates embed.FS - -//loadTemplate loads a list of templates, relative to the templates root, and a -//FuncMap, and returns a template object -func loadTemplate(templateNames []string, funcMap template.FuncMap) (*template.Template, error) { - if len(templateNames) == 0 { - return nil, fmt.Errorf("templateNames can't be empty") - } - tmpl := template.New(templateNames[0]).Funcs(funcMap) - - for _, templateName := range templateNames { - r, err := templates.Open("/" + templateName) - if err != nil { - return nil, err - } - defer r.Close() - contents, err := ioutil.ReadAll(r) - if err != nil { - return nil, err - } - tmpl, err = tmpl.Parse(string(contents)) - if err != nil { - return nil, err - } - } - - return tmpl, nil -} - -// MakeFrontend returns a http.Handler -func MakeFrontend(rotatingLogHandler *misc.RotatingLogHandler, gerritClient *gerrit.Client, runner *submitqueue.Runner) http.Handler { - projectName := gerritClient.GetProjectName() - branchName := gerritClient.GetBranchName() - - mux := http.NewServeMux() - mux.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) { - var wipSerie *gerrit.Serie = nil - HEAD := "" - currentlyRunning := runner.IsCurrentlyRunning() - - // don't trigger operations requiring a lock - if !currentlyRunning { - wipSerie = runner.GetWIPSerie() - HEAD = gerritClient.GetHEAD() - } - - funcMap := template.FuncMap{ - "changesetURL": func(changeset *gerrit.Changeset) string { - return gerritClient.GetChangesetURL(changeset) - }, - "levelToClasses": func(level log.Level) string { - switch level { - case log.DebugLevel: - return "text-muted" - case log.InfoLevel: - return "text-info" - case log.WarnLevel: - return "text-warning" - case log.ErrorLevel: - return "text-danger" - case log.FatalLevel: - return "text-danger" - default: - return "text-white" - } - }, - "fieldsToJSON": func(fields log.Fields) string { - jsonData, _ := json.Marshal(fields) - return string(jsonData) - }, - } - - tmpl := template.Must(loadTemplate([]string{ - "index.tmpl.html", - "serie.tmpl.html", - "changeset.tmpl.html", - }, funcMap)) - - tmpl.ExecuteTemplate(w, "index.tmpl.html", map[string]interface{}{ - // Config - "projectName": projectName, - "branchName": branchName, - - // State - "currentlyRunning": currentlyRunning, - "wipSerie": wipSerie, - "HEAD": HEAD, - - // History - "memory": rotatingLogHandler, - }) - }) - return mux -} |