summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/nlopes/slack/webhooks.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/nlopes/slack/webhooks.go')
-rw-r--r--vendor/github.com/nlopes/slack/webhooks.go22
1 files changed, 14 insertions, 8 deletions
diff --git a/vendor/github.com/nlopes/slack/webhooks.go b/vendor/github.com/nlopes/slack/webhooks.go
index 3ea69ffe..14e1b8dd 100644
--- a/vendor/github.com/nlopes/slack/webhooks.go
+++ b/vendor/github.com/nlopes/slack/webhooks.go
@@ -9,26 +9,32 @@ import (
)
type WebhookMessage struct {
- Text string `json:"text,omitempty"`
- Attachments []Attachment `json:"attachments,omitempty"`
+ Username string `json:"username,omitempty"`
+ IconEmoji string `json:"icon_emoji,omitempty"`
+ IconURL string `json:"icon_url,omitempty"`
+ Channel string `json:"channel,omitempty"`
+ ThreadTimestamp string `json:"thread_ts,omitempty"`
+ Text string `json:"text,omitempty"`
+ Attachments []Attachment `json:"attachments,omitempty"`
+ Parse string `json:"parse,omitempty"`
}
func PostWebhook(url string, msg *WebhookMessage) error {
+ return PostWebhookCustomHTTP(url, http.DefaultClient, msg)
+}
+
+func PostWebhookCustomHTTP(url string, httpClient *http.Client, msg *WebhookMessage) error {
raw, err := json.Marshal(msg)
if err != nil {
return errors.Wrap(err, "marshal failed")
}
- response, err := http.Post(url, "application/json", bytes.NewReader(raw))
+ response, err := httpClient.Post(url, "application/json", bytes.NewReader(raw))
if err != nil {
return errors.Wrap(err, "failed to post webhook")
}
- if response.StatusCode != http.StatusOK {
- return statusCodeError{Code: response.StatusCode, Status: response.Status}
- }
-
- return nil
+ return checkStatusCode(response, discard{})
}