router.go 923 B

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