http.go 800 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package server
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "projectName/internal/handler"
  5. "projectName/internal/middleware"
  6. "projectName/pkg/helper/resp"
  7. "projectName/pkg/log"
  8. )
  9. func NewServerHTTP(
  10. logger *log.Logger,
  11. userHandler *handler.UserHandler,
  12. ipHandler *handler.IpHandler,
  13. ipAllowlist *middleware.IPAllowlist,
  14. ipRateLimiter *middleware.IPRateLimiter,
  15. ) *gin.Engine {
  16. gin.SetMode(gin.ReleaseMode)
  17. r := gin.Default()
  18. r.Use(
  19. middleware.CORSMiddleware(),
  20. ipAllowlist.IPAllowlistMiddleware(),
  21. ipRateLimiter.RateLimitMiddleware(),
  22. )
  23. r.GET("/", func(ctx *gin.Context) {
  24. resp.HandleSuccess(ctx, map[string]interface{}{
  25. "say": "Hi Nunu!",
  26. })
  27. })
  28. r.GET("/user", userHandler.GetUserById)
  29. r.POST("/addIp", ipHandler.AddIp)
  30. r.POST("/deleteIp", ipHandler.DeleteIp)
  31. return r
  32. }