fix(notify): optimize gotify code and close unreleased resources.

This commit is contained in:
catfishlty 2025-04-03 09:47:19 +08:00
parent 2d198bcef7
commit 626a86dea7

View File

@ -24,13 +24,6 @@ type NotifierConfig struct {
Priority int64 `json:"priority"` Priority int64 `json:"priority"`
} }
// Message Gotify 消息体
type Message struct {
Title string `json:"title"`
Message string `json:"message"`
Priority int64 `json:"priority"`
}
type NotifierProvider struct { type NotifierProvider struct {
config *NotifierConfig config *NotifierConfig
logger *slog.Logger logger *slog.Logger
@ -62,7 +55,11 @@ func (n *NotifierProvider) WithLogger(logger *slog.Logger) notifier.Notifier {
func (n *NotifierProvider) Notify(ctx context.Context, subject string, message string) (res *notifier.NotifyResult, err error) { func (n *NotifierProvider) Notify(ctx context.Context, subject string, message string) (res *notifier.NotifyResult, err error) {
// Gotify 原生实现, notify 库没有实现, 等待合并 // Gotify 原生实现, notify 库没有实现, 等待合并
reqBody := &Message{ reqBody := &struct {
Title string `json:"title"`
Message string `json:"message"`
Priority int64 `json:"priority"`
}{
Title: subject, Title: subject,
Message: message, Message: message,
Priority: n.config.Priority, Priority: n.config.Priority,
@ -92,6 +89,7 @@ func (n *NotifierProvider) Notify(ctx context.Context, subject string, message s
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "send request to gotify server") return nil, errors.Wrapf(err, "send request to gotify server")
} }
defer resp.Body.Close()
// Read response and verify success // Read response and verify success
result, err := io.ReadAll(resp.Body) result, err := io.ReadAll(resp.Body)