-
Notifications
You must be signed in to change notification settings - Fork 99
There are 429 responses without retry-after header #681
Description
There are servers returning 429 status code but without retry-after header.
Currently happening in several google cloud node libraries, for example: https://github.com/googleapis/gax-nodejs/actions/runs/16154578720/job/45594197234.
Request response:
headers: { 'content-length': '1474', 'content-security-policy': "default-src 'none'; style-src 'unsafe-inline'", 'content-type': 'text/html; charset=utf-8', date: 'Tue, 08 Jul 2025 23:48:08 GMT', server: 'Varnish', 'strict-transport-security': 'max-age=31536000; includeSubdomains; preload', 'x-content-type-options': 'nosniff', 'x-frame-options': 'deny', 'x-github-request-id': '', 'x-xss-protection': '1; mode=block' }, status: 429, statusText: 'Too Many Requests', request: { responseURL: 'https://github.com/googleapis/gax-nodejs/blob/chore--add-node-22-and-24-versions-in-ci-tests/LICENSE' }
The current logic does not support retries in these cases, as a 'retry-after' header is required.