MCPcopy Index your code
hub / github.com/deepflowio/deepflow / updateController

Function updateController

server/controller/http/router/controller.go:100–132  ·  view source on GitHub ↗
(m *monitor.ControllerCheck, cfg *config.ControllerConfig)

Source from the content-addressed store, hash-verified

98}
99
100func updateController(m *monitor.ControllerCheck, cfg *config.ControllerConfig) gin.HandlerFunc {
101 return gin.HandlerFunc(func(c *gin.Context) {
102 var err error
103 var controllerUpdate model.ControllerUpdate
104
105 // 如果不是masterController,将请求转发至是masterController
106 isMasterController, masterControllerIP, _ := election.IsMasterControllerAndReturnIP()
107 if !isMasterController {
108 routercommon.ForwardMasterController(c, masterControllerIP, cfg.ListenPort)
109 return
110 }
111
112 // 参数校验
113 err = c.ShouldBindBodyWith(&controllerUpdate, binding.JSON)
114 if err != nil {
115 response.JSON(c, response.SetOptStatus(httpcommon.INVALID_PARAMETERS), response.SetError(err))
116 return
117 }
118
119 // 接收参数
120 // 避免struct会有默认值,这里转为map作为函数入参
121 patchMap := map[string]interface{}{}
122 c.ShouldBindBodyWith(&patchMap, binding.JSON)
123
124 lcuuid := c.Param("lcuuid")
125 orgID, _ := c.Get(common.HEADER_KEY_X_ORG_ID)
126 data, err := service.UpdateController(orgID.(int), lcuuid, patchMap, m, cfg)
127 if err != nil {
128 err = fmt.Errorf("org id(%d), %s", orgID.(int), err.Error())
129 }
130 response.JSON(c, response.SetData(data), response.SetError(err))
131 })
132}
133
134func deleteController(m *monitor.ControllerCheck, cfg *config.ControllerConfig) gin.HandlerFunc {
135 return gin.HandlerFunc(func(c *gin.Context) {

Callers 1

RegisterToMethod · 0.85

Calls 4

JSONMethod · 0.80
GetMethod · 0.65
ErrorMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected