From: HAOYUatHZ Date: Thu, 29 Aug 2019 02:45:51 +0000 (+0800) Subject: init s.ListNodes X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=commitdiff_plain;h=0a232c57365b34e08a2e672633128a53426edbb3 init s.ListNodes --- diff --git a/toolbar/precog/api/handler.go b/toolbar/precog/api/handler.go new file mode 100644 index 00000000..9c6a0485 --- /dev/null +++ b/toolbar/precog/api/handler.go @@ -0,0 +1,14 @@ +package api + +import ( + "github.com/gin-gonic/gin" + + "github.com/vapor/toolbar/precog/database/orm" + serverCommon "github.com/vapor/toolbar/server" +) + +type listNodesReq struct{ serverCommon.Display } + +func (s *Server) ListNodes(c *gin.Context, listNodesReq *listNodesReq, query *serverCommon.PaginationQuery) ([]*orm.Node, error) { + return nil, nil +} diff --git a/toolbar/precog/api/server.go b/toolbar/precog/api/server.go index e57247e1..7ff0de11 100644 --- a/toolbar/precog/api/server.go +++ b/toolbar/precog/api/server.go @@ -7,30 +7,37 @@ import ( "github.com/jinzhu/gorm" "github.com/vapor/toolbar/precog/config" - "github.com/vapor/toolbar/precog/database/orm" + serverCommon "github.com/vapor/toolbar/server" ) -type server struct { - cfg *config.Config - db *gorm.DB +type Server struct { + cfg *config.Config + db *gorm.DB + engine *gin.Engine } -func NewApiServer(cfg *config.Config, db *gorm.DB) *server { - return &server{ +func NewApiServer(cfg *config.Config, db *gorm.DB) *Server { + server := &Server{ cfg: cfg, db: db, } + if cfg.API.IsReleaseMode { + gin.SetMode(gin.ReleaseMode) + } + server.setupRouter() + return server } -func (s *server) Run() { - router := gin.Default() +func (s *Server) setupRouter() { + r := gin.Default() + r.Use(serverCommon.Middleware(s)) - // router.POST("/list-nodes", listNodes) + v1 := r.Group("/api/v1") + v1.POST("/list-nodes", serverCommon.HandlerMiddleware(s.ListNodes)) - router.Run(fmt.Sprintf(":%d", s.cfg.API.ListeningPort)) + s.engine = r } -// TODO: cannot use listNodes (type func(*gin.Context) ([]*orm.Node, error)) as type gin.HandlerFunc in argument to router.RouterGroup.POST -func listNodes(_ *gin.Context) ([]*orm.Node, error) { - return nil, nil +func (s *Server) Run() { + s.engine.Run(fmt.Sprintf(":%d", s.cfg.API.ListeningPort)) }