router.go 1.3 KB

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