summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/nlopes/slack/auth.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/nlopes/slack/auth.go')
-rw-r--r--vendor/github.com/nlopes/slack/auth.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/github.com/nlopes/slack/auth.go b/vendor/github.com/nlopes/slack/auth.go
new file mode 100644
index 00000000..f8fe1f9d
--- /dev/null
+++ b/vendor/github.com/nlopes/slack/auth.go
@@ -0,0 +1,40 @@
+package slack
+
+import (
+ "context"
+ "net/url"
+)
+
+// AuthRevokeResponse contains our Auth response from the auth.revoke endpoint
+type AuthRevokeResponse struct {
+ SlackResponse // Contains the "ok", and "Error", if any
+ Revoked bool `json:"revoked,omitempty"`
+}
+
+// authRequest sends the actual request, and unmarshals the response
+func authRequest(ctx context.Context, client httpClient, path string, values url.Values, d debug) (*AuthRevokeResponse, error) {
+ response := &AuthRevokeResponse{}
+ err := postSlackMethod(ctx, client, path, values, response, d)
+ if err != nil {
+ return nil, err
+ }
+
+ return response, response.Err()
+}
+
+// SendAuthRevoke will send a revocation for our token
+func (api *Client) SendAuthRevoke(token string) (*AuthRevokeResponse, error) {
+ return api.SendAuthRevokeContext(context.Background(), token)
+}
+
+// SendAuthRevokeContext will retrieve the satus from api.test
+func (api *Client) SendAuthRevokeContext(ctx context.Context, token string) (*AuthRevokeResponse, error) {
+ if token == "" {
+ token = api.token
+ }
+ values := url.Values{
+ "token": {token},
+ }
+
+ return authRequest(ctx, api.httpclient, "auth.revoke", values, api)
+}