summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/nlopes/slack/webhooks.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2018-08-10 00:38:19 +0200
committerWim <wim@42.be>2018-08-10 00:38:19 +0200
commit68aeb93afa0dd4a5067fcefff9db0a70644d7128 (patch)
treefdd80104c029ba57cb27d54850a3aa7020fedfba /vendor/github.com/nlopes/slack/webhooks.go
parent51062863a5c34d81e296cf15c61140911037cf3b (diff)
downloadmatterbridge-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.go33
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
+}