From c4b75e5754c58758c920c79b0458171e98269961 Mon Sep 17 00:00:00 2001 From: Wim Date: Thu, 21 Sep 2017 22:35:21 +0200 Subject: Download files from slack and reupload to mattermost (slack/mattermost). Closes #255 Refactor message.Extra to a map[string][]interface{} to have a bit more flexibility for stuffing extra stuff. For attached files from slack, files < 1MB size get downloaded (in memory), and get put into Extra["file"][]config.FileInfo (containing a pointer to the buffer and the filename). This is not async so slack channels with lots of attached files may suffer a slowdown. (the download timeout is set at 5 seconds). --- bridge/config/config.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bridge/config') diff --git a/bridge/config/config.go b/bridge/config/config.go index 2b678d2f..c6686a42 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -29,7 +29,12 @@ type Message struct { Gateway string `json:"gateway"` Timestamp time.Time `json:"timestamp"` ID string `json:"id"` - Extra []interface{} + Extra map[string][]interface{} +} + +type FileInfo struct { + Name string + Data *[]byte } type ChannelInfo struct { -- cgit v1.2.3