From bd0f83f4257c5e53af32d6ffe0935785fcde3acf Mon Sep 17 00:00:00 2001 From: Özgür Kesim Date: Wed, 27 Dec 2023 03:06:11 +0100 Subject: init --- main.go | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 main.go (limited to 'main.go') diff --git a/main.go b/main.go new file mode 100644 index 0000000..f93cbda --- /dev/null +++ b/main.go @@ -0,0 +1,57 @@ +package main + +import ( + "context" + "flag" + "fmt" + "log" + "net/http" + "os" + "time" +) + +var ( + fl_url = flag.String("url", "https://bugs.gnunet.org/api/rest/issues", "URL to the issues") + fl_token = flag.String("token", os.Getenv("MANTIS_API_TOKEN"), "API-Token") + fl_port = flag.String("port", ":8080", "[ip]:port to serve") + fl_num = flag.Int("num", 100, "number of issues to retrieve at once") + fl_min = flag.String("min", "0.9.3", "minimum version for data") +) + +func main() { + flag.Parse() + fmt.Println("starting") + + var ctx = context.Background() + var data = NewData(ctx, *fl_url, *fl_token, *fl_num) + data.filterId = 230 + data.projectId = 23 + data.minimumVersion = *fl_min + + data.update() + go func() { + var ticker = time.NewTicker(15 * time.Second) + for range ticker.C { + select { + case <-ctx.Done(): + return + default: + fmt.Println("updating data") + data.update() + } + } + }() + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + data.printTemplate(w, "table.tmpl") + }) + http.HandleFunc("/list", func(w http.ResponseWriter, r *http.Request) { + data.printTemplate(w, "list.tmpl") + }) + http.HandleFunc("/json", func(w http.ResponseWriter, r *http.Request) { + data.printJSON(w) + }) + fmt.Println("ready to serve") + + log.Fatal(http.ListenAndServe(*fl_port, nil)) +} -- cgit v1.2.3