server.go 517 B

123456789101112131415161718192021222324252627282930313233
  1. package server
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. )
  6. // Run starts a HTTP server
  7. func Run(ip, port string) {
  8. addr := fmt.Sprintf("%v:%v", ip, port)
  9. r := gin.New()
  10. logger := gin.Logger()
  11. r.Use(func(c *gin.Context) {
  12. if c.Request.URL.Path == "/ping" {
  13. return
  14. }
  15. logger(c)
  16. })
  17. r.NoRoute(handleRedirect)
  18. // version < 1
  19. r.GET("/", handlePageView)
  20. // version >= 1
  21. r.GET("/p", handlePageView)
  22. r.GET("/t", handleTiming)
  23. r.GET("/ping", handlePing)
  24. r.HEAD("/ping", handlePing)
  25. r.Run(addr)
  26. }