router.go 1.2 KB

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