MCPcopy Index your code
hub / github.com/apache/devlake / GetToken

Method GetToken

backend/plugins/github/token/token_provider.go:97–115  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

95}
96
97func (tp *TokenProvider) GetToken() (string, errors.Error) {
98 tp.mu.Lock()
99 defer tp.mu.Unlock()
100
101 if tp.needsRefresh() {
102 if tp.logger != nil {
103 expiresStr := "unknown"
104 if tp.conn.TokenExpiresAt != nil {
105 expiresStr = tp.conn.TokenExpiresAt.Format(time.RFC3339)
106 }
107 tp.logger.Info("Proactive token refresh triggered for connection %d (token expires at %s)",
108 tp.conn.ID, expiresStr)
109 }
110 if err := tp.refreshToken(); err != nil {
111 return "", err
112 }
113 }
114 return tp.conn.Token, nil
115}
116
117func (tp *TokenProvider) needsRefresh() bool {
118 buffer := DefaultRefreshBuffer

Callers 3

roundTripWithRetryMethod · 0.80

Calls 4

needsRefreshMethod · 0.95
refreshTokenMethod · 0.95
FormatMethod · 0.80
InfoMethod · 0.65

Tested by 2