release: v1.0.0

This commit is contained in:
2024-05-23 14:41:39 +08:00
commit 2640ecd03b
38 changed files with 3247 additions and 0 deletions

31
internal/api/api.go Normal file
View File

@@ -0,0 +1,31 @@
package api
import (
"net/http"
"github.com/VictoriaMetrics/metrics"
"github.com/grassrootseconomics/celo-tracker/internal/stats"
"github.com/uptrace/bunrouter"
)
func New(statsCollector *stats.Stats) *bunrouter.Router {
router := bunrouter.New()
router.GET("/metrics", metricsHandler())
router.GET("/stats", statsHandler(statsCollector))
return router
}
func metricsHandler() bunrouter.HandlerFunc {
return func(w http.ResponseWriter, _ bunrouter.Request) error {
metrics.WritePrometheus(w, true)
return nil
}
}
func statsHandler(s *stats.Stats) bunrouter.HandlerFunc {
return func(w http.ResponseWriter, _ bunrouter.Request) error {
return bunrouter.JSON(w, s.APIStatsResponse())
}
}