feat(gateway): 优化gateway相关功能
Quality check / Web UI (push) Successful in 9m19s

This commit is contained in:
mei
2026-09-12 15:32:27 +08:00
parent 0d89b7fe8f
commit 9b656cebee
84 changed files with 2769 additions and 825 deletions
+17 -10
View File
@@ -1,26 +1,33 @@
package fwalert
import (
"context"
"fmt"
"github.com/go-resty/resty/v2"
"github.com/ssdomei232/goodBaby/internal/retry"
)
// send 发送消息
// Send 发送一条饭碗警告
func Send(ctx context.Context, config *FwAlertRuleConfig) error {
if err := retry.Do(ctx, func() error {
return send(config)
}); err != nil {
return fmt.Errorf("发送饭碗警告失败: %w", err)
}
return nil
}
// send 调用一次 Webhook
func send(config *FwAlertRuleConfig) error {
restyClient := resty.New()
req := restyClient.R()
req.SetBody(FwAlertRequest{
Message: config.Msg,
})
resp, err := req.Execute(resty.MethodPost, config.WebhookURL)
resp, err := resty.New().R().
SetBody(FwAlertRequest{Message: config.Msg}).
Execute(resty.MethodPost, config.WebhookURL)
if err != nil {
return err
}
if resp.StatusCode() != 200 {
return fmt.Errorf("发送饭碗警告失败: %s", resp.Status())
return fmt.Errorf("Webhook 返回状态码 %s", resp.Status())
}
return nil
}