MCPcopy Create free account
hub / github.com/apache/kvrocks-controller / initHandlers

Method initHandlers

server/route.go:33–91  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

31)
32
33func (srv *Server) initHandlers() {
34 engine := srv.engine
35 engine.Use(middleware.CollectMetrics, func(c *gin.Context) {
36 c.Set(consts.ContextKeyStore, srv.store)
37 c.Next()
38 }, middleware.RedirectIfNotLeader)
39 handler := api.NewHandler(srv.store)
40
41 engine.Any("/debug/pprof/*profile", PProf)
42 engine.GET("/metrics", gin.WrapH(promhttp.Handler()))
43 engine.NoRoute(func(c *gin.Context) {
44 helper.ResponseError(c, consts.ErrNotFound)
45 c.Abort()
46 })
47
48 apiV1 := engine.Group("/api/v1/")
49 {
50 raftAPI := apiV1.Group("raft")
51 {
52 raftAPI.Use(middleware.RequiredRaftEngine)
53 raftAPI.POST("/peers", handler.Raft.UpdatePeer)
54 raftAPI.GET("/peers", handler.Raft.ListPeers)
55 }
56
57 namespaces := apiV1.Group("namespaces")
58 {
59 namespaces.GET("", handler.Namespace.List)
60 namespaces.GET("/:namespace", handler.Namespace.Exists)
61 namespaces.POST("", handler.Namespace.Create)
62 namespaces.DELETE("/:namespace", handler.Namespace.Remove)
63 }
64
65 clusters := namespaces.Group("/:namespace/clusters")
66 {
67 clusters.GET("", middleware.RequiredNamespace, handler.Cluster.List)
68 clusters.POST("", middleware.RequiredNamespace, handler.Cluster.Create)
69 clusters.POST("/:cluster/import", middleware.RequiredNamespace, handler.Cluster.Import)
70 clusters.GET("/:cluster", middleware.RequiredCluster, handler.Cluster.Get)
71 clusters.DELETE("/:cluster", middleware.RequiredCluster, handler.Cluster.Remove)
72 clusters.POST("/:cluster/migrate", handler.Cluster.MigrateSlot)
73 }
74
75 shards := clusters.Group("/:cluster/shards")
76 {
77 shards.GET("", middleware.RequiredCluster, handler.Shard.List)
78 shards.POST("", middleware.RequiredCluster, handler.Shard.Create)
79 shards.GET("/:shard", middleware.RequiredClusterShard, handler.Shard.Get)
80 shards.DELETE("/:shard", middleware.RequiredCluster, handler.Shard.Remove)
81 shards.POST("/:shard/failover", middleware.RequiredClusterShard, handler.Shard.Failover)
82 }
83
84 nodes := shards.Group("/:shard/nodes")
85 {
86 nodes.GET("", middleware.RequiredClusterShard, handler.Node.List)
87 nodes.POST("", middleware.RequiredClusterShard, handler.Node.Create)
88 nodes.DELETE("/:id", middleware.RequiredClusterShard, handler.Node.Remove)
89 }
90 }

Callers 1

startAPIServerMethod · 0.95

Calls 3

NewHandlerFunction · 0.92
ResponseErrorFunction · 0.92
SetMethod · 0.65

Tested by

no test coverage detected