API Breaking change (minor): remove debug parameter
from signature of oauth related helper methods.
James Lawrence authored 5 years ago
James committed 5 years ago
1 | 1 | |
2 | 2 | import ( |
3 | 3 | "context" |
4 | "errors" | |
5 | 4 | "net/url" |
6 | 5 | ) |
7 | 6 | |
32 | 31 | } |
33 | 32 | |
34 | 33 | // GetOAuthToken retrieves an AccessToken |
35 | func GetOAuthToken(client httpClient, clientID, clientSecret, code, redirectURI string, d debug) (accessToken string, scope string, err error) { | |
36 | return GetOAuthTokenContext(context.Background(), client, clientID, clientSecret, code, redirectURI, d) | |
34 | func GetOAuthToken(client httpClient, clientID, clientSecret, code, redirectURI string) (accessToken string, scope string, err error) { | |
35 | return GetOAuthTokenContext(context.Background(), client, clientID, clientSecret, code, redirectURI) | |
37 | 36 | } |
38 | 37 | |
39 | 38 | // GetOAuthTokenContext retrieves an AccessToken with a custom context |
40 | func GetOAuthTokenContext(ctx context.Context, client httpClient, clientID, clientSecret, code, redirectURI string, d debug) (accessToken string, scope string, err error) { | |
41 | response, err := GetOAuthResponseContext(ctx, client, clientID, clientSecret, code, redirectURI, d) | |
39 | func GetOAuthTokenContext(ctx context.Context, client httpClient, clientID, clientSecret, code, redirectURI string) (accessToken string, scope string, err error) { | |
40 | response, err := GetOAuthResponseContext(ctx, client, clientID, clientSecret, code, redirectURI) | |
42 | 41 | if err != nil { |
43 | 42 | return "", "", err |
44 | 43 | } |
45 | 44 | return response.AccessToken, response.Scope, nil |
46 | 45 | } |
47 | 46 | |
48 | func GetOAuthResponse(client httpClient, clientID, clientSecret, code, redirectURI string, d debug) (resp *OAuthResponse, err error) { | |
49 | return GetOAuthResponseContext(context.Background(), client, clientID, clientSecret, code, redirectURI, d) | |
47 | func GetOAuthResponse(client httpClient, clientID, clientSecret, code, redirectURI string) (resp *OAuthResponse, err error) { | |
48 | return GetOAuthResponseContext(context.Background(), client, clientID, clientSecret, code, redirectURI) | |
50 | 49 | } |
51 | 50 | |
52 | func GetOAuthResponseContext(ctx context.Context, client httpClient, clientID, clientSecret, code, redirectURI string, d debug) (resp *OAuthResponse, err error) { | |
51 | func GetOAuthResponseContext(ctx context.Context, client httpClient, clientID, clientSecret, code, redirectURI string) (resp *OAuthResponse, err error) { | |
53 | 52 | values := url.Values{ |
54 | 53 | "client_id": {clientID}, |
55 | 54 | "client_secret": {clientSecret}, |
57 | 56 | "redirect_uri": {redirectURI}, |
58 | 57 | } |
59 | 58 | response := &OAuthResponse{} |
60 | err = postSlackMethod(ctx, client, "oauth.access", values, response, d) | |
61 | if err != nil { | |
59 | if err = postSlackMethod(ctx, client, "oauth.access", values, response, discard{}); err != nil { | |
62 | 60 | return nil, err |
63 | 61 | } |
64 | if !response.Ok { | |
65 | return nil, errors.New(response.Error) | |
66 | } | |
67 | return response, nil | |
62 | return response, response.Err() | |
68 | 63 | } |