(credentials: QwenOAuthCredentials)
| 96 | } |
| 97 | |
| 98 | private async refreshAccessToken(credentials: QwenOAuthCredentials): Promise<QwenOAuthCredentials> { |
| 99 | // If a refresh is already in progress, return the existing promise |
| 100 | if (this.refreshPromise) { |
| 101 | return this.refreshPromise |
| 102 | } |
| 103 | |
| 104 | // Create a new refresh promise |
| 105 | this.refreshPromise = this.doRefreshAccessToken(credentials) |
| 106 | |
| 107 | try { |
| 108 | const result = await this.refreshPromise |
| 109 | return result |
| 110 | } finally { |
| 111 | // Clear the promise after completion (success or failure) |
| 112 | this.refreshPromise = null |
| 113 | } |
| 114 | } |
| 115 | |
| 116 | private async doRefreshAccessToken(credentials: QwenOAuthCredentials): Promise<QwenOAuthCredentials> { |
| 117 | if (!credentials.refresh_token) { |
no test coverage detected