Codebase list golang-github-nlopes-slack / 2cfb1c0
Unmarshal SlackError as an error It looks like Slack changed how they return an error from a string to a hash. This meant that we could just unmarshal it straight into a struct. With a little helper function we automatically get go errors. Tarrant 9 years ago
12 changed file(s) with 28 addition(s) and 39 deletion(s). Raw diff Collapse all Expand all
00 package slack
11
22 import (
3 "errors"
43 "net/url"
54 "strconv"
65 )
5756 return nil, err
5857 }
5958 if !response.Ok {
60 return nil, errors.New(response.Error)
59 return nil, response.Error
6160 }
6261 return response, nil
6362 }
11
22 import (
33 "encoding/json"
4 "errors"
54 "net/url"
65 "strings"
76 )
8584 return nil, err
8685 }
8786 if !response.Ok {
88 return nil, errors.New(response.Error)
87 return nil, response.Error
8988 }
9089 return response, nil
9190 }
00 package slack
11
22 import (
3 "errors"
43 "net/url"
54 "strconv"
65 )
3534 return nil, err
3635 }
3736 if !response.Ok {
38 return nil, errors.New(response.Error)
37 return nil, response.Error
3938 }
4039 return response, nil
4140 }
00 package slack
11
2 import (
3 "errors"
4 "net/url"
5 )
2 import "net/url"
63
74 type emojiResponseFull struct {
85 Emoji map[string]string `json:"emoji"`
2017 return nil, err
2118 }
2219 if !response.Ok {
23 return nil, errors.New(response.Error)
20 return nil, response.Error
2421 }
2522 return response.Emoji, nil
2623 }
00 package slack
11
22 import (
3 "errors"
43 "net/url"
54 "strconv"
65 "strings"
121120 return nil, err
122121 }
123122 if !response.Ok {
124 return nil, errors.New(response.Error)
123 return nil, response.Error
125124 }
126125 return response, nil
127126 }
209208 return nil, err
210209 }
211210 if !response.Ok {
212 return nil, errors.New(response.Error)
211 return nil, response.Error
213212 }
214213 return &response.File, nil
215214 }
00 package slack
11
22 import (
3 "errors"
43 "net/url"
54 "strconv"
65 )
4948 return nil, err
5049 }
5150 if !response.Ok {
52 return nil, errors.New(response.Error)
51 return nil, response.Error
5352 }
5453 return response, nil
5554 }
00 package slack
11
2 import (
3 "errors"
4 "net/url"
5 )
2 import "net/url"
63
74 type oAuthResponseFull struct {
85 AccessToken string `json:"access_token"`
2421 return "", "", err
2522 }
2623 if !response.Ok {
27 return "", "", errors.New(response.Error)
24 return "", "", response.Error
2825 }
2926 return response.AccessToken, response.Scope, nil
3027 }
00 package slack
11
22 import (
3 "errors"
43 "net/url"
54 "strconv"
65 )
105104 return nil, err
106105 }
107106 if !response.Ok {
108 return nil, errors.New(response.Error)
107 return nil, response.Error
109108 }
110109 return response, nil
111110
00 package slack
11
2 import (
3 "errors"
4 "net/url"
5 )
2 import "net/url"
63
74 /*
85 Added as a var so that we can change this for testing purposes
2118 }
2219
2320 type SlackResponse struct {
24 Ok bool `json:"ok"`
25 Error string `json:"error"`
21 Ok bool `json:"ok"`
22 Error *SlackError `json:"error"`
23 }
24
25 type SlackError struct {
26 Code int
27 Msg string
28 }
29
30 func (s SlackError) Error() string {
31 return s.Msg
2632 }
2733
2834 type AuthTestResponse struct {
6268 return nil, err
6369 }
6470 if !responseFull.Ok {
65 return nil, errors.New(responseFull.Error)
71 return nil, responseFull.Error
6672 }
6773 return &responseFull.AuthTestResponse, nil
6874 }
00 package slack
11
22 import (
3 "errors"
43 "net/url"
54 "strconv"
65 )
6968 return nil, nil, err
7069 }
7170 if !response.Ok {
72 return nil, nil, errors.New(response.Error)
71 return nil, nil, response.Error
7372 }
7473 return response.Items, &response.Paging, nil
7574 }
00 package slack
11
2 import (
3 "errors"
4 "net/url"
5 )
2 import "net/url"
63
74 // UserProfile contains all the information details of a given user
85 type UserProfile struct {
6360 return nil, err
6461 }
6562 if !response.Ok {
66 return nil, errors.New(response.Error)
63 return nil, response.Error
6764 }
6865 return response, nil
6966 }
11
22 import (
33 "encoding/json"
4 "errors"
54 "fmt"
65 "io"
76 "log"
4645 return nil, err
4746 }
4847 if !response.Ok {
49 return nil, errors.New(response.Error)
48 return nil, response.Error
5049 }
5150 api.info = response.Info
5251 // websocket.Dial does not accept url without the port (yet)