http.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package http
  2. import (
  3. "net/http"
  4. "go-common/app/admin/ep/tapd/conf"
  5. "go-common/app/admin/ep/tapd/service"
  6. "go-common/library/log"
  7. bm "go-common/library/net/http/blademaster"
  8. "go-common/library/net/http/blademaster/middleware/permit"
  9. )
  10. var (
  11. svc *service.Service
  12. authSvc *permit.Permit
  13. )
  14. // Init init
  15. func Init(c *conf.Config, s *service.Service) {
  16. svc = s
  17. authSvc = permit.New(c.Auth)
  18. engine := bm.DefaultServer(c.BM)
  19. engine.Ping(ping)
  20. outerRouter(engine)
  21. if err := engine.Start(); err != nil {
  22. log.Error("engine.Start error(%v)", err)
  23. panic(err)
  24. }
  25. }
  26. // outerRouter init outer router api path.
  27. func outerRouter(e *bm.Engine) {
  28. inner := e.Group("/internal/ep/tapd")
  29. {
  30. inner.GET("/version", getVersion)
  31. inner.POST("/test", test)
  32. inner.POST("/testform", testform)
  33. version1 := inner.Group("/v1", authSvc.Permit(""))
  34. {
  35. version1.POST("/hook/update", updateHook)
  36. version1.POST("/hook/query", queryHook)
  37. version1.GET("/hook/event/query", queryURLEvent)
  38. version1.GET("/hook/cache/save", saveHookUrlInCache)
  39. version1.GET("/hook/cache/query", queryHookUrlInCache)
  40. version1.POST("/eventlog/query", queryEventLog)
  41. }
  42. }
  43. outer := e.Group("/ep/tapd")
  44. {
  45. outer.POST("/callback", tapdCallback)
  46. outer.GET("/version", getVersion)
  47. }
  48. }
  49. func ping(c *bm.Context) {
  50. if err := svc.Ping(c); err != nil {
  51. log.Error("ping error(%v)", err)
  52. c.AbortWithStatus(http.StatusServiceUnavailable)
  53. }
  54. }
  55. func getVersion(c *bm.Context) {
  56. v := new(struct {
  57. Version string `json:"version"`
  58. })
  59. v.Version = "v.0.0.7"
  60. c.JSON(v, nil)
  61. }