http.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package http
  2. import (
  3. "go-common/app/service/live/xuser/conf"
  4. "go-common/app/service/live/xuser/service"
  5. "go-common/library/log"
  6. bm "go-common/library/net/http/blademaster"
  7. "go-common/library/net/http/blademaster/middleware/verify"
  8. "net/http"
  9. )
  10. var (
  11. vfy *verify.Verify
  12. svc *service.Service
  13. )
  14. // Init init
  15. func Init(c *conf.Config, s *service.Service) {
  16. svc = s
  17. vfy = verify.New(c.Verify)
  18. engine := bm.DefaultServer(c.BM)
  19. route(engine)
  20. if err := engine.Start(); err != nil {
  21. log.Error("bm Start error(%v)", err)
  22. panic(err)
  23. }
  24. }
  25. func route(e *bm.Engine) {
  26. e.Ping(ping)
  27. e.Register(register)
  28. g := e.Group("/x/xuser")
  29. {
  30. g.GET("/test", test)
  31. g.GET("/start", vfy.Verify, howToStart)
  32. }
  33. }
  34. func ping(ctx *bm.Context) {
  35. if err := svc.Ping(ctx); err != nil {
  36. log.Error("ping error(%v)", err)
  37. ctx.AbortWithStatus(http.StatusServiceUnavailable)
  38. }
  39. }
  40. func register(c *bm.Context) {
  41. c.JSON(map[string]interface{}{}, nil)
  42. }
  43. // test test http api
  44. func test(c *bm.Context) {
  45. c.JSON("test success", nil)
  46. }
  47. // example for http request handler
  48. func howToStart(c *bm.Context) {
  49. c.String(0, "Golang 大法好 !!!")
  50. }