fibonacci_go/internal/http/server.go
Richard Robert Reitz 7f1d8b8b68
Some checks failed
ci-workflow / ci (push) Failing after 1m37s
Rebuild go project
2024-12-16 13:20:45 +01:00

39 lines
734 B
Go

package http
import (
"fmt"
"net/http"
//"github.com/chenjiandongx/ginprom"
"forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/devfw-cicd/fibonacci_go/internal/fibonacci"
"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),
})
}