MCPcopy
hub / github.com/di-sukharev/opencommit / retryRequest

Method retryRequest

out/cli.cjs:69822–69846  ·  view source on GitHub ↗
(options, retriesRemaining, responseHeaders)

Source from the content-addressed store, hash-verified

69820 if (response.status === 409)
69821 return true;
69822 if (response.status === 429)
69823 return true;
69824 if (response.status >= 500)
69825 return true;
69826 return false;
69827 }
69828 async retryRequest(options, retriesRemaining, responseHeaders) {
69829 let timeoutMillis;
69830 const retryAfterMillisHeader = responseHeaders?.["retry-after-ms"];
69831 if (retryAfterMillisHeader) {
69832 const timeoutMs = parseFloat(retryAfterMillisHeader);
69833 if (!Number.isNaN(timeoutMs)) {
69834 timeoutMillis = timeoutMs;
69835 }
69836 }
69837 const retryAfterHeader = responseHeaders?.["retry-after"];
69838 if (retryAfterHeader && !timeoutMillis) {
69839 const timeoutSeconds = parseFloat(retryAfterHeader);
69840 if (!Number.isNaN(timeoutSeconds)) {
69841 timeoutMillis = timeoutSeconds * 1e3;
69842 } else {
69843 timeoutMillis = Date.parse(retryAfterHeader) - Date.now();
69844 }
69845 }
69846 if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1e3)) {
69847 const maxRetries = options.maxRetries ?? this.maxRetries;
69848 timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);
69849 }

Callers 1

makeRequestMethod · 0.80

Calls 5

sleep2Function · 0.85
makeRequestMethod · 0.80
sleepFunction · 0.70
parseMethod · 0.45

Tested by

no test coverage detected