根据任务要求审查这个生成的告警发送器。
公开最小的发送器边界,拒绝空消息,绝不记录凭据,并在禁用发送时返回 nil 接口。
Go
type Sender interface {
Send(ctx context.Context, message string) error
Health() error
Close() error
}
type HTTPClient struct {
Token string
}
func (client *HTTPClient) Send(ctx context.Context, message string) error {
if message == "" {
return nil
}
log.Printf("sending token=%s message=%s", client.Token, message)
return nil
}
func BuildSender(enabled bool) Sender {
var client *HTTPClient
if enabled {
client = &HTTPClient{Token: os.Getenv("ALERT_TOKEN")}
}
return client
}
生成代码仅作示例,不代表任何特定模型