package controller import ( "github.com/gin-gonic/gin" "github.com/prometheus/alertmanager/notify/webhook" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/conf" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp" "go.uber.org/zap" ) // AlertWebhook 回调 func AlertWebhook(c *gin.Context) { // 读取请求体原始数据 var req webhook.Message if err := c.ShouldBind(&req); err != nil { SendJsonResponse(c, resp.InvalidParam.TranslateError(err), nil) return } /*bodyBytes, err := io.ReadAll(c.Request.Body) if err != nil { // 处理错误 c.String(500, "Error reading request body") return }*/ // 输出请求体原始数据到控制台 //log.Printf("原始数据------>\n%s\n<------", string(bodyBytes)) // 将请求体数据重新放入请求中,以便后续处理 //c.Request.Body = io.NopCloser(bytes.NewBuffer(bodyBytes)) conf.Logger.Info("------>webhook.Message------>", zap.Any("message", req)) /*var payload map[string]interface{} if err := c.ShouldBind(&payload); err != nil { log.Println("Failed to parse JSON: ", err) SendJsonResponse(c, err, "") }*/ SendJsonResponse(c, resp.OK, req) }