* Update rate limit info from response headers * @private
(response: any)
| 458 | * @private |
| 459 | */ |
| 460 | private updateRateLimitInfo(response: any): void { |
| 461 | const limit = response.headers.get('x-ratelimit-limit') |
| 462 | const remaining = response.headers.get('x-ratelimit-remaining') |
| 463 | const reset = response.headers.get('x-ratelimit-reset') |
| 464 | const retryAfter = response.headers.get('retry-after') |
| 465 | |
| 466 | const resetTime = reset |
| 467 | ? /^\d+$/.test(reset) |
| 468 | ? Number.parseInt(reset, 10) |
| 469 | : Date.parse(reset) |
| 470 | : Number.NaN |
| 471 | |
| 472 | if (limit || remaining || reset) { |
| 473 | this.rateLimitInfo = { |
| 474 | limit: limit ? Number.parseInt(limit, 10) : 0, |
| 475 | remaining: remaining ? Number.parseInt(remaining, 10) : 0, |
| 476 | reset: Number.isNaN(resetTime) ? 0 : resetTime, |
| 477 | retryAfter: retryAfter ? Number.parseInt(retryAfter, 10) * 1000 : undefined, |
| 478 | } |
| 479 | } |
| 480 | } |
| 481 | |
| 482 | /** |
| 483 | * Get current usage limits and quota information |
no test coverage detected