fibonacci_pipeline/internal/http/server.go

40 lines
734 B
Go
Raw Normal View History

2024-12-16 10:49:51 +00:00
package http
import (
"fmt"
"net/http"
//"github.com/chenjiandongx/ginprom"
2024-12-16 12:20:45 +00:00
"forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/fibonacci_go/internal/fibonacci"
2024-12-16 10:49:51 +00:00
"github.com/gin-gonic/gin"
//"github.com/prometheus/client_golang/prometheus/promhttp"
)
func StartServer() error {
r := gin.Default()
//r.Use(ginprom.PromMiddleware(nil))
r.GET("/fibonacci", CalculateFibonacci)
//r.GET("/metrics", gin.WrapH(promhttp.Handler()))
return r.Run(":9090")
}
func CalculateFibonacci(c *gin.Context) {
numberstr := c.Query("number")
result, err := fibonacci.FibonacciFromString(numberstr)
if err != nil {
c.AbortWithStatus(http.StatusBadRequest)
return
}
c.JSON(200, gin.H{
"result": fmt.Sprint(result),
})
}