diff --git a/internal/actions/interface.go b/internal/actions/interface.go new file mode 100644 index 0000000..4620e4e --- /dev/null +++ b/internal/actions/interface.go @@ -0,0 +1,7 @@ +package actions + +type Action struct { + Name string + Type string + Args []string +} diff --git a/internal/actions/webhooks.go b/internal/actions/webhooks.go new file mode 100644 index 0000000..cdbb5da --- /dev/null +++ b/internal/actions/webhooks.go @@ -0,0 +1,24 @@ +package actions + +import ( + "bytes" + "net/http" + "time" +) + +func SendWebhook(url string, data []byte) (int, error) { + client := &http.Client{ + Timeout: 30 * time.Second, + } + req, err := http.NewRequest("POST", url, bytes.NewReader(data)) + if err != nil { + return 0, err + } + req.Header.Set("Content-Type", "application/json") + // #nosec G704 validating by admin + resp, err := client.Do(req) + if err != nil { + return 0, err + } + return resp.StatusCode, nil +}