diff options
author | Wim <wim@42.be> | 2017-08-28 22:59:52 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2017-08-28 23:07:11 +0200 |
commit | e59d338d4e43ed8cad3227186d0c341a44abedf6 (patch) | |
tree | 4f2d36b824db7eb0a79fb8f1cd859e89c4b347fd | |
parent | 7a86044f7aa8ff70c37be1b806718e39291c0494 (diff) | |
download | matterbridge-msglm-e59d338d4e43ed8cad3227186d0c341a44abedf6.tar.gz matterbridge-msglm-e59d338d4e43ed8cad3227186d0c341a44abedf6.tar.bz2 matterbridge-msglm-e59d338d4e43ed8cad3227186d0c341a44abedf6.zip |
Use github.com/42wim/go-gitter for now
-rw-r--r-- | vendor/github.com/42wim/go-gitter/LICENSE (renamed from vendor/github.com/sromku/go-gitter/LICENSE) | 0 | ||||
-rw-r--r-- | vendor/github.com/42wim/go-gitter/faye.go (renamed from vendor/github.com/sromku/go-gitter/faye.go) | 0 | ||||
-rw-r--r-- | vendor/github.com/42wim/go-gitter/gitter.go (renamed from vendor/github.com/sromku/go-gitter/gitter.go) | 69 | ||||
-rw-r--r-- | vendor/github.com/42wim/go-gitter/model.go (renamed from vendor/github.com/sromku/go-gitter/model.go) | 0 | ||||
-rw-r--r-- | vendor/github.com/42wim/go-gitter/stream.go (renamed from vendor/github.com/sromku/go-gitter/stream.go) | 0 | ||||
-rw-r--r-- | vendor/github.com/42wim/go-gitter/test_utils.go (renamed from vendor/github.com/sromku/go-gitter/test_utils.go) | 0 | ||||
-rw-r--r-- | vendor/manifest | 16 |
7 files changed, 72 insertions, 13 deletions
diff --git a/vendor/github.com/sromku/go-gitter/LICENSE b/vendor/github.com/42wim/go-gitter/LICENSE index 8dada3ed..8dada3ed 100644 --- a/vendor/github.com/sromku/go-gitter/LICENSE +++ b/vendor/github.com/42wim/go-gitter/LICENSE diff --git a/vendor/github.com/sromku/go-gitter/faye.go b/vendor/github.com/42wim/go-gitter/faye.go index dcd3e210..dcd3e210 100644 --- a/vendor/github.com/sromku/go-gitter/faye.go +++ b/vendor/github.com/42wim/go-gitter/faye.go diff --git a/vendor/github.com/sromku/go-gitter/gitter.go b/vendor/github.com/42wim/go-gitter/gitter.go index 0eff42a8..77b011bf 100644 --- a/vendor/github.com/sromku/go-gitter/gitter.go +++ b/vendor/github.com/42wim/go-gitter/gitter.go @@ -205,17 +205,43 @@ func (gitter *Gitter) GetMessage(roomID, messageID string) (*Message, error) { } // SendMessage sends a message to a room -func (gitter *Gitter) SendMessage(roomID, text string) error { +func (gitter *Gitter) SendMessage(roomID, text string) (*Message, error) { message := Message{Text: text} body, _ := json.Marshal(message) - _, err := gitter.post(gitter.config.apiBaseURL+"rooms/"+roomID+"/chatMessages", body) + response, err := gitter.post(gitter.config.apiBaseURL+"rooms/"+roomID+"/chatMessages", body) if err != nil { gitter.log(err) - return err + return nil, err } - return nil + err = json.Unmarshal(response, &message) + if err != nil { + gitter.log(err) + return nil, err + } + + return &message, nil +} + +// UpdateMessage updates a message in a room +func (gitter *Gitter) UpdateMessage(roomID, msgID, text string) (*Message, error) { + + message := Message{Text: text} + body, _ := json.Marshal(message) + response, err := gitter.put(gitter.config.apiBaseURL+"rooms/"+roomID+"/chatMessages/"+msgID, body) + if err != nil { + gitter.log(err) + return nil, err + } + + err = json.Unmarshal(response, &message) + if err != nil { + gitter.log(err) + return nil, err + } + + return &message, nil } // JoinRoom joins a room @@ -265,7 +291,7 @@ func (gitter *Gitter) SearchRooms(room string) ([]Room, error) { Results []Room `json:"results"` } - response, err := gitter.get(gitter.config.apiBaseURL + "rooms?q=" + room ) + response, err := gitter.get(gitter.config.apiBaseURL + "rooms?q=" + room) if err != nil { gitter.log(err) @@ -414,6 +440,39 @@ func (gitter *Gitter) post(url string, body []byte) ([]byte, error) { return result, nil } +func (gitter *Gitter) put(url string, body []byte) ([]byte, error) { + r, err := http.NewRequest("PUT", url, bytes.NewBuffer(body)) + if err != nil { + gitter.log(err) + return nil, err + } + + r.Header.Set("Content-Type", "application/json") + r.Header.Set("Accept", "application/json") + r.Header.Set("Authorization", "Bearer "+gitter.config.token) + + resp, err := gitter.config.client.Do(r) + if err != nil { + gitter.log(err) + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + err = APIError{What: fmt.Sprintf("Status code: %v", resp.StatusCode)} + gitter.log(err) + return nil, err + } + + result, err := ioutil.ReadAll(resp.Body) + if err != nil { + gitter.log(err) + return nil, err + } + + return result, nil +} + func (gitter *Gitter) delete(url string) ([]byte, error) { r, err := http.NewRequest("delete", url, nil) if err != nil { diff --git a/vendor/github.com/sromku/go-gitter/model.go b/vendor/github.com/42wim/go-gitter/model.go index 7a3d0729..7a3d0729 100644 --- a/vendor/github.com/sromku/go-gitter/model.go +++ b/vendor/github.com/42wim/go-gitter/model.go diff --git a/vendor/github.com/sromku/go-gitter/stream.go b/vendor/github.com/42wim/go-gitter/stream.go index 1c26ebeb..1c26ebeb 100644 --- a/vendor/github.com/sromku/go-gitter/stream.go +++ b/vendor/github.com/42wim/go-gitter/stream.go diff --git a/vendor/github.com/sromku/go-gitter/test_utils.go b/vendor/github.com/42wim/go-gitter/test_utils.go index 6703da2e..6703da2e 100644 --- a/vendor/github.com/sromku/go-gitter/test_utils.go +++ b/vendor/github.com/42wim/go-gitter/test_utils.go diff --git a/vendor/manifest b/vendor/manifest index 7636c486..2bf08c2b 100644 --- a/vendor/manifest +++ b/vendor/manifest @@ -2,6 +2,14 @@ "version": 0, "dependencies": [ { + "importpath": "github.com/42wim/go-gitter", + "repository": "https://github.com/42wim/go-gitter", + "vcs": "git", + "revision": "017310c2d5575ae5b3c9d2caef2989d5912bb4b1", + "branch": "sendmessage", + "notests": true + }, + { "importpath": "github.com/42wim/go-ircevent", "repository": "https://github.com/42wim/go-ircevent", "vcs": "git", @@ -474,14 +482,6 @@ "notests": true }, { - "importpath": "github.com/sromku/go-gitter", - "repository": "https://github.com/sromku/go-gitter", - "vcs": "git", - "revision": "16aadfbb65c6641501ea8eebb6bcf23b9011912b", - "branch": "master", - "notests": true - }, - { "importpath": "github.com/stretchr/testify/assert", "repository": "https://github.com/stretchr/testify", "vcs": "git", |