http.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package http
  2. import (
  3. "net/http"
  4. "go-common/app/interface/main/up-rating/conf"
  5. "go-common/app/interface/main/up-rating/service"
  6. "go-common/library/log"
  7. bm "go-common/library/net/http/blademaster"
  8. "go-common/library/net/http/blademaster/middleware/auth"
  9. )
  10. var (
  11. svc *service.Service
  12. authSvr *auth.Auth
  13. )
  14. // Init http server
  15. func Init(c *conf.Config) {
  16. initService(c)
  17. engine := bm.DefaultServer(c.BM)
  18. externalRouter(engine)
  19. if err := engine.Start(); err != nil {
  20. log.Error("engine.Start error(%v)", err)
  21. panic(err)
  22. }
  23. }
  24. func initService(c *conf.Config) {
  25. svc = service.New(c)
  26. authSvr = auth.New(nil)
  27. }
  28. func externalRouter(e *bm.Engine) {
  29. e.Ping(ping)
  30. // define routers
  31. group := e.Group("/studio/up-rating", authSvr.User)
  32. {
  33. group.GET("/info", upRating)
  34. }
  35. cache := group.Group("/cache")
  36. {
  37. cache.GET("/expire/up", expireUpRating)
  38. }
  39. }
  40. func ping(c *bm.Context) {
  41. var err error
  42. if err = svc.Ping(c); err != nil {
  43. log.Error("service ping error(%v)", err)
  44. c.AbortWithStatus(http.StatusServiceUnavailable)
  45. }
  46. }