diff options
author | Wim <wim@42.be> | 2018-08-10 00:38:19 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2018-08-10 00:38:19 +0200 |
commit | 68aeb93afa0dd4a5067fcefff9db0a70644d7128 (patch) | |
tree | fdd80104c029ba57cb27d54850a3aa7020fedfba /vendor/github.com/nlopes/slack/webhooks.go | |
parent | 51062863a5c34d81e296cf15c61140911037cf3b (diff) | |
download | matterbridge-msglm-68aeb93afa0dd4a5067fcefff9db0a70644d7128.tar.gz matterbridge-msglm-68aeb93afa0dd4a5067fcefff9db0a70644d7128.tar.bz2 matterbridge-msglm-68aeb93afa0dd4a5067fcefff9db0a70644d7128.zip |
Update nlopes/slack vendor
Diffstat (limited to 'vendor/github.com/nlopes/slack/webhooks.go')
-rw-r--r-- | vendor/github.com/nlopes/slack/webhooks.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/vendor/github.com/nlopes/slack/webhooks.go b/vendor/github.com/nlopes/slack/webhooks.go new file mode 100644 index 00000000..870a8d8b --- /dev/null +++ b/vendor/github.com/nlopes/slack/webhooks.go @@ -0,0 +1,33 @@ +package slack + +import ( + "github.com/pkg/errors" + "net/http" + "bytes" + "encoding/json" +) + +type WebhookMessage struct { + Text string `json:"text,omitempty"` + Attachments []Attachment `json:"attachments,omitempty"` +} + +func PostWebhook(url string, 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)); + + 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 +} |