(header: string | null)
| 1492 | } |
| 1493 | |
| 1494 | function parseRetryAfterHeader(header: string | null): number { |
| 1495 | if (!header) return 0 |
| 1496 | const trimmed = header.trim() |
| 1497 | if (/^\d+$/.test(trimmed)) { |
| 1498 | const seconds = Number.parseInt(trimmed, 10) |
| 1499 | return seconds > 0 ? seconds * 1000 : 0 |
| 1500 | } |
| 1501 | const date = new Date(trimmed) |
| 1502 | if (!Number.isNaN(date.getTime())) { |
| 1503 | const deltaMs = date.getTime() - Date.now() |
| 1504 | return deltaMs > 0 ? deltaMs : 0 |
| 1505 | } |
| 1506 | return 0 |
| 1507 | } |
| 1508 | |
| 1509 | function shouldRetryWithoutReadingBody( |
| 1510 | status: number, |
no test coverage detected