http.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package http
  2. import (
  3. "net/http"
  4. webucenter_http "go-common/app/interface/live/web-ucenter/api/http"
  5. "go-common/app/interface/live/web-ucenter/api/http/v1"
  6. "go-common/app/interface/live/web-ucenter/conf"
  7. "go-common/app/interface/live/web-ucenter/dao"
  8. webcenterSvc "go-common/app/interface/live/web-ucenter/service/v1"
  9. "go-common/library/log"
  10. bm "go-common/library/net/http/blademaster"
  11. "go-common/library/net/http/blademaster/middleware/auth"
  12. "go-common/library/net/http/blademaster/middleware/verify"
  13. )
  14. var (
  15. srv *webcenterSvc.Service
  16. vfy *verify.Verify
  17. midAuth *auth.Auth
  18. // AnchorTask .
  19. AnchorTask *webcenterSvc.AnchorTaskService
  20. )
  21. // Init init
  22. func Init(c *conf.Config) {
  23. dao.InitAPI()
  24. initService(c)
  25. initMidWare(c)
  26. engine := bm.DefaultServer(c.BM)
  27. route(engine)
  28. if err := engine.Start(); err != nil {
  29. log.Error("bm Start error(%v)", err)
  30. panic(err)
  31. }
  32. }
  33. func initService(c *conf.Config) {
  34. srv = webcenterSvc.New(c)
  35. midAuth = auth.New(c.Auth)
  36. }
  37. func initMidWare(c *conf.Config) {
  38. vfy = verify.New(c.Verify)
  39. }
  40. func route(e *bm.Engine) {
  41. e.Ping(ping)
  42. e.Register(register)
  43. g := e.Group("/xlive/web-ucenter")
  44. {
  45. g.GET("/Auth", midAuth.User, howToStart)
  46. }
  47. v1.RegisterV1HistoryService(e, srv, map[string]bm.HandlerFunc{"auth": midAuth.UserWeb})
  48. midMap := map[string]bm.HandlerFunc{
  49. "auth": midAuth.User,
  50. "guest": midAuth.Guest,
  51. }
  52. v1.RegisterV1CapsuleService(e, webcenterSvc.NewCapsuleService(conf.Conf), midMap)
  53. v1.RegisterV1AnchorTaskService(e, webcenterSvc.NewAnchorTaskService(conf.Conf), midMap)
  54. webucenter_http.RegisterUserService(
  55. e, webcenterSvc.NewUserService(conf.Conf), map[string]bm.HandlerFunc{"auth": midAuth.User})
  56. }
  57. func ping(c *bm.Context) {
  58. c.AbortWithStatus(http.StatusOK)
  59. }
  60. func register(c *bm.Context) {
  61. c.JSON(map[string]interface{}{}, nil)
  62. }
  63. // example for http request handler
  64. func howToStart(c *bm.Context) {
  65. c.String(0, "Golang 大法好 !!!")
  66. }