router.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package routers
  2. import (
  3. "duoduo/apis/forward"
  4. "duoduo/apis/pdd"
  5. "duoduo/apis/petsLy"
  6. "duoduo/apis/qiniu"
  7. "duoduo/apis/user"
  8. "duoduo/apis/userLy"
  9. "duoduo/conf"
  10. "github.com/gin-gonic/gin"
  11. "github.com/unrolled/secure"
  12. )
  13. func InitRouter() {
  14. r := gin.New()
  15. if conf.Model == "master" {
  16. r.Use(TlsHandler())
  17. }
  18. r.GET("/", func(c *gin.Context) { c.File("./root.txt") })
  19. r.GET("/root.txt", func(c *gin.Context) { c.File("./root.txt") })
  20. r2 := r.Group("/")
  21. {
  22. pdd.InitPddDdkRouter(r2)
  23. pdd.InitSetRouter(r2)
  24. user.InitUserRouter(r2)
  25. forward.InitForwardRouter(r2)
  26. }
  27. ly := r.Group("/")
  28. {
  29. userLy.InitUserRouter(ly)
  30. petsLy.InitPetsRouter(ly)
  31. qiniu.InitQiNiuRouter(ly)
  32. }
  33. if conf.Model == "master" {
  34. r.RunTLS(":443", "./shisanmiao.com.pem", "./shisanmiao.com.key")
  35. } else {
  36. _ = r.Run(":8081")
  37. }
  38. }
  39. func TlsHandler() gin.HandlerFunc {
  40. return func(c *gin.Context) {
  41. secureMiddleware := secure.New(secure.Options{
  42. SSLRedirect: true,
  43. SSLHost: "localhost:8080",
  44. })
  45. err := secureMiddleware.Process(c.Writer, c.Request)
  46. // If there was an error, do not continue.
  47. if err != nil {
  48. return
  49. }
  50. c.Next()
  51. }
  52. }