fibonacci_go/internal/http/server.go

40 lines
673 B
Go
Raw Normal View History

2024-12-16 10:49:51 +00:00
package http
import (
"apps/internal/fibonacci"
"fmt"
"net/http"
//"github.com/chenjiandongx/ginprom"
"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),
})
}