http.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package http
  2. import (
  3. "net/http"
  4. "go-common/app/service/bbq/search/api/grpc/v1"
  5. "go-common/app/service/bbq/search/conf"
  6. "go-common/app/service/bbq/search/service"
  7. "go-common/library/log"
  8. bm "go-common/library/net/http/blademaster"
  9. )
  10. var (
  11. srv *service.Service
  12. )
  13. // Init init
  14. func Init(c *conf.Config, s *service.Service) {
  15. srv = s
  16. engine := bm.DefaultServer(c.BM)
  17. route(engine)
  18. if err := engine.Start(); err != nil {
  19. log.Error("bm Start error(%v)", err)
  20. panic(err)
  21. }
  22. }
  23. func route(e *bm.Engine) {
  24. e.Ping(ping)
  25. e.Register(register)
  26. g := e.Group("/bbq/internal/search")
  27. {
  28. g.GET("/start", howToStart)
  29. }
  30. }
  31. func ping(c *bm.Context) {
  32. if err := srv.Ping(c); err != nil {
  33. log.Error("ping error(%v)", err)
  34. c.AbortWithStatus(http.StatusServiceUnavailable)
  35. }
  36. }
  37. func register(c *bm.Context) {
  38. c.JSON(map[string]interface{}{}, nil)
  39. }
  40. // example for http request handler
  41. func howToStart(c *bm.Context) {
  42. arg := new(v1.RecVideoDataRequest)
  43. if err := c.Bind(arg); err != nil {
  44. return
  45. }
  46. c.JSON(srv.RecVideoData(c, arg))
  47. }