* Maps rate limit errors
(message: string, response: unknown)
| 254 | * Maps rate limit errors |
| 255 | */ |
| 256 | protected mapRateLimitError(message: string, response: unknown): RateLimitExceeded { |
| 257 | // Try to extract retry-after from headers |
| 258 | const headers = ( |
| 259 | typeof response === 'object' && response !== null && 'headers' in response |
| 260 | ? (response as { headers?: Record<string, string> }).headers |
| 261 | : undefined |
| 262 | ); |
| 263 | const retryAfter = headers?.['retry-after']; |
| 264 | const retryAfterSeconds = retryAfter ? parseInt(retryAfter, 10) : undefined; |
| 265 | |
| 266 | return new RateLimitExceeded(message, retryAfterSeconds, this.exchangeName); |
| 267 | } |
| 268 | |
| 269 | /** |
| 270 | * Extracts error message from various error formats |