package server import ( "encoding/json" "io" "log" "net/http" "github.com/gin-gonic/gin" "github.com/google/go-github/v47/github" ) func init() { gin.SetMode(gin.ReleaseMode) } func Run() error { //err := metrics.InitMetrics() //if err != nil { // log.Print("Error registering gauges") // return err //} r := gin.Default() r.GET("/api/health", func(c *gin.Context) { c.JSON(http.StatusOK, "OK") }) // forwarded events handler // TODO dont just log this out r.PUT("/event", func(c *gin.Context) { reader := c.Request.Body defer reader.Close() body, _ := io.ReadAll(c.Request.Body) var wfj github.WorkflowJobEvent if err := json.Unmarshal(body, &wfj); err != nil { log.Printf("error unmarshaling workflow event: %v", err) } log.Printf("%+v \n", wfj.GetWorkflowJob().GetHeadSHA()) }) //metricsHandlerFunc := gin.WrapH(promhttp.Handler()) //r.GET("/metrics", metricsHandlerFunc) log.Print("starting server on port 8080") if err := r.Run(":8080"); err != nil { log.Printf("error starting on port 8080: %v", err) return err } return nil }