mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-06 07:47:04 +00:00
requestretry: delayStrategy property added to RequestRetryOptions. (#42300)
This commit is contained in:
Vendored
+3
@@ -3,6 +3,7 @@
|
||||
// Definitions by: Eric Byers <https://github.com/EricByers>
|
||||
// Andrew Throener <https://github.com/trainerbill>
|
||||
// Aniket Patel <https://github.com/baaka-ani>
|
||||
// Aram Elchyan <https://github.com/elch-yan>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
@@ -13,6 +14,7 @@ import http = require('http');
|
||||
|
||||
declare namespace requestretry {
|
||||
type RetryStrategy = (err: Error, response: http.IncomingMessage, body: any) => boolean;
|
||||
type DelayStrategy = (err: Error, response: http.IncomingMessage, body: any) => number;
|
||||
interface RequestPromise extends request.Request {
|
||||
then: Promise<any>["then"];
|
||||
catch: Promise<any>["catch"];
|
||||
@@ -31,6 +33,7 @@ declare namespace requestretry {
|
||||
promiseFactory?(resolver: any): any;
|
||||
retryDelay?: number;
|
||||
retryStrategy?: RetryStrategy;
|
||||
delayStrategy?: DelayStrategy;
|
||||
fullResponse?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,6 +81,23 @@ request({
|
||||
// Body.
|
||||
});
|
||||
|
||||
const CustomDelayStrategy = (err: Error, response: http.IncomingMessage, body: any): number => {
|
||||
// Return a number
|
||||
return 100;
|
||||
};
|
||||
|
||||
request({
|
||||
url: 'https://api.example.com/v1/a/b',
|
||||
json: true,
|
||||
// The below parameters are specific to request-retry
|
||||
// (default) try 5 times
|
||||
maxAttempts: 5,
|
||||
// (default) wait for 5s before trying again
|
||||
delayStrategy: CustomDelayStrategy,
|
||||
}, (err, response, body) => {
|
||||
// Body.
|
||||
});
|
||||
|
||||
// No options required
|
||||
request({
|
||||
url: 'https://api.example.com/v1/a/b',
|
||||
|
||||
Reference in New Issue
Block a user