()
| 333 | const accountId = currentOauth.accountId |
| 334 | |
| 335 | const refresh = async () => { |
| 336 | if (!refreshPromise) { |
| 337 | const refreshToken = currentOauth.refresh |
| 338 | refreshPromise = refreshAccessToken(accountId, refreshToken) |
| 339 | .then(async (tokens) => { |
| 340 | const refreshedRefresh = tokens.refresh_token || refreshToken |
| 341 | const refreshedExpires = Date.now() + (tokens.expires_in ?? 600) * 1000 |
| 342 | await _input.client.auth |
| 343 | .set({ |
| 344 | path: { id: "snowflake-cortex" }, |
| 345 | body: { |
| 346 | type: "oauth", |
| 347 | access: tokens.access_token, |
| 348 | refresh: refreshedRefresh, |
| 349 | expires: refreshedExpires, |
| 350 | ...(accountId && { accountId }), |
| 351 | }, |
| 352 | }) |
| 353 | .catch(() => {}) |
| 354 | return { |
| 355 | access: tokens.access_token, |
| 356 | refresh: refreshedRefresh, |
| 357 | expires: refreshedExpires, |
| 358 | } |
| 359 | }) |
| 360 | .finally(() => { |
| 361 | refreshPromise = undefined |
| 362 | }) |
| 363 | } |
| 364 | |
| 365 | const refreshed = await refreshPromise |
| 366 | currentOauth = { ...currentOauth, ...refreshed } |
| 367 | } |
| 368 | |
| 369 | const prepareRequest = () => { |
| 370 | const headers = new Headers(requestInput instanceof Request ? requestInput.headers : undefined) |
no test coverage detected