diff options
Diffstat (limited to 'vendor/github.com/nlopes/slack/slack.go')
-rw-r--r-- | vendor/github.com/nlopes/slack/slack.go | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/vendor/github.com/nlopes/slack/slack.go b/vendor/github.com/nlopes/slack/slack.go deleted file mode 100644 index a13bed31..00000000 --- a/vendor/github.com/nlopes/slack/slack.go +++ /dev/null @@ -1,94 +0,0 @@ -package slack - -import ( - "context" - "errors" - "log" - "net/url" - "os" -) - -var logger *log.Logger // A logger that can be set by consumers -/* - Added as a var so that we can change this for testing purposes -*/ -var SLACK_API string = "https://slack.com/api/" -var SLACK_WEB_API_FORMAT string = "https://%s.slack.com/api/users.admin.%s?t=%s" - -type SlackResponse struct { - Ok bool `json:"ok"` - Error string `json:"error"` -} - -type AuthTestResponse struct { - URL string `json:"url"` - Team string `json:"team"` - User string `json:"user"` - TeamID string `json:"team_id"` - UserID string `json:"user_id"` -} - -type authTestResponseFull struct { - SlackResponse - AuthTestResponse -} - -type Client struct { - config struct { - token string - } - info Info - debug bool -} - -// SetLogger let's library users supply a logger, so that api debugging -// can be logged along with the application's debugging info. -func SetLogger(l *log.Logger) { - logger = l -} - -func New(token string) *Client { - s := &Client{} - s.config.token = token - return s -} - -// AuthTest tests if the user is able to do authenticated requests or not -func (api *Client) AuthTest() (response *AuthTestResponse, error error) { - return api.AuthTestContext(context.Background()) -} - -// AuthTestContext tests if the user is able to do authenticated requests or not with a custom context -func (api *Client) AuthTestContext(ctx context.Context) (response *AuthTestResponse, error error) { - responseFull := &authTestResponseFull{} - err := post(ctx, "auth.test", url.Values{"token": {api.config.token}}, responseFull, api.debug) - if err != nil { - return nil, err - } - if !responseFull.Ok { - return nil, errors.New(responseFull.Error) - } - return &responseFull.AuthTestResponse, nil -} - -// SetDebug switches the api into debug mode -// When in debug mode, it logs various info about what its doing -// If you ever use this in production, don't call SetDebug(true) -func (api *Client) SetDebug(debug bool) { - api.debug = debug - if debug && logger == nil { - logger = log.New(os.Stdout, "nlopes/slack", log.LstdFlags|log.Lshortfile) - } -} - -func (api *Client) Debugf(format string, v ...interface{}) { - if api.debug { - logger.Printf(format, v...) - } -} - -func (api *Client) Debugln(v ...interface{}) { - if api.debug { - logger.Println(v...) - } -} |