http.go 903 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package http
  2. import (
  3. "go-common/app/infra/notify/conf"
  4. mrl "go-common/app/infra/notify/model"
  5. "go-common/app/infra/notify/service"
  6. "go-common/library/log"
  7. bm "go-common/library/net/http/blademaster"
  8. )
  9. var (
  10. svc *service.Service
  11. )
  12. // Init init
  13. func Init(c *conf.Config) {
  14. initService(c)
  15. // init router
  16. eng := bm.DefaultServer(c.BM)
  17. initRouter(eng)
  18. if err := eng.Start(); err != nil {
  19. log.Error("bm.DefaultServer error(%v)", err)
  20. panic(err)
  21. }
  22. }
  23. // initService init services.
  24. func initService(c *conf.Config) {
  25. svc = service.New(c)
  26. }
  27. // initRouter init outer router api path.
  28. func initRouter(e *bm.Engine) {
  29. e.Ping(ping)
  30. group := e.Group("/x/internal/notify")
  31. {
  32. group.POST("/pub", pub)
  33. }
  34. }
  35. func pub(c *bm.Context) {
  36. arg := new(mrl.ArgPub)
  37. if err := c.Bind(arg); err != nil {
  38. return
  39. }
  40. c.JSON(nil, svc.Pub(c, arg))
  41. }
  42. // ping check server ok.
  43. func ping(c *bm.Context) {
  44. }