init.go 682 B

12345678910111213141516171819202122232425262728
  1. package router
  2. import (
  3. "fmt"
  4. "github.com/gin-contrib/gzip"
  5. "github.com/gin-gonic/gin"
  6. "icloudapp.cn/tools/middleware"
  7. "net/http"
  8. )
  9. func InitRouter() *gin.Engine {
  10. r := gin.Default()
  11. // 上传大小限制 100M
  12. r.MaxMultipartMemory = 100 << 20
  13. r.Use(gzip.Gzip(gzip.BestCompression))
  14. r.Use(middleware.LoggerMiddleware())
  15. //注册错误恢复
  16. r.Use(gin.CustomRecovery(func(ctx *gin.Context, recovered interface{}) {
  17. if err, ok := recovered.(string); ok {
  18. ctx.String(http.StatusInternalServerError, fmt.Sprintf("error occuring: %s", err))
  19. }
  20. ctx.Abort()
  21. //c.AbortWithStatus(http.StatusInternalServerError)
  22. }))
  23. SetupApiRouters(r)
  24. SetupPHPRouter(r)
  25. return r
  26. }