From fb904f0543bbe30eb59f6ac89c1e1a32b68a7cf4 Mon Sep 17 00:00:00 2001 From: MaineK00n Date: Thu, 20 Apr 2023 11:53:31 +0900 Subject: [PATCH] refactor(reporter): refactoring TelegramWriter, GoogleChatWriter (#1628) * style: remove unnecessary line break * style: use regexp.MatchString instead of regexp.Match * refactor(reporter): refactoring TelegramWriter, GoogleChatWriter --- reporter/googlechat.go | 7 +++---- reporter/telegram.go | 4 ++-- scanner/windows.go | 1 - 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/reporter/googlechat.go b/reporter/googlechat.go index e0525b180f..dcf2596b38 100644 --- a/reporter/googlechat.go +++ b/reporter/googlechat.go @@ -26,7 +26,7 @@ func (w GoogleChatWriter) Write(rs ...models.ScanResult) (err error) { re := regexp.MustCompile(w.Cnf.ServerNameRegexp) for _, r := range rs { - if re.Match([]byte(r.FormatServerName())) { + if re.MatchString(r.FormatServerName()) { continue } msgs := []string{fmt.Sprintf("*%s*\n%s\t%s\t%s", @@ -73,11 +73,10 @@ func (w GoogleChatWriter) Write(rs ...models.ScanResult) (err error) { } func (w GoogleChatWriter) postMessage(message string) error { - uri := fmt.Sprintf("%s", w.Cnf.WebHookURL) payload := `{"text": "` + message + `" }` ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - req, err := http.NewRequestWithContext(ctx, http.MethodPost, uri, bytes.NewBuffer([]byte(payload))) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, w.Cnf.WebHookURL, bytes.NewBuffer([]byte(payload))) defer cancel() if err != nil { return err @@ -88,7 +87,7 @@ func (w GoogleChatWriter) postMessage(message string) error { return err } resp, err := client.Do(req) - if checkResponse(resp) != nil && err != nil { + if w.checkResponse(resp) != nil && err != nil { return err } defer resp.Body.Close() diff --git a/reporter/telegram.go b/reporter/telegram.go index ec81a5dd10..48935a47ae 100644 --- a/reporter/telegram.go +++ b/reporter/telegram.go @@ -75,14 +75,14 @@ func (w TelegramWriter) sendMessage(chatID, token, message string) error { return err } resp, err := client.Do(req) - if checkResponse(resp) != nil && err != nil { + if w.checkResponse(resp) != nil && err != nil { return err } defer resp.Body.Close() return nil } -func checkResponse(r *http.Response) error { +func (w TelegramWriter) checkResponse(r *http.Response) error { if c := r.StatusCode; 200 <= c && c <= 299 { return nil } diff --git a/scanner/windows.go b/scanner/windows.go index 1525ff0ca0..1efe9ae4c5 100644 --- a/scanner/windows.go +++ b/scanner/windows.go @@ -552,7 +552,6 @@ func parseRegistry(stdout, arch string) (osInfo, error) { } func detectOSName(osInfo osInfo) (string, error) { - osName, err := detectOSNameFromOSInfo(osInfo) if err != nil { return "", xerrors.Errorf("Failed to detect OS Name from OSInfo: %+v, err: %w", osInfo, err)