diff --git a/types/requestretry/index.d.ts b/types/requestretry/index.d.ts index 8bb2de93e5..0c9b68fe8d 100644 --- a/types/requestretry/index.d.ts +++ b/types/requestretry/index.d.ts @@ -1,7 +1,8 @@ // Type definitions for requestretry 1.12 // Project: https://github.com/FGRibreau/node-request-retry -// Definitions by: Eric Byers -// Andrew Throener +// Definitions by: Eric Byers +// Andrew Throener +// Aniket Patel // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -12,7 +13,12 @@ import http = require('http'); declare namespace requestretry { type RetryStrategy = (err: Error, response: http.IncomingMessage, body: any) => boolean; - interface RetryRequestAPI extends request.RequestAPI { + interface RequestPromise extends request.Request { + then: Promise["then"]; + catch: Promise["catch"]; + promise(): Promise; + } + interface RetryRequestAPI extends request.RequestAPI { RetryStrategies: { 'HttpError': RetryStrategy; 'HTTPOrNetworkError': RetryStrategy; diff --git a/types/requestretry/requestretry-tests.ts b/types/requestretry/requestretry-tests.ts index 58cf687657..4859ca9854 100644 --- a/types/requestretry/requestretry-tests.ts +++ b/types/requestretry/requestretry-tests.ts @@ -1,6 +1,21 @@ import request = require('requestretry'); import http = require('http'); +// Promisified request function +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 + retryDelay: 5000, + // (default) retry on 5xx or network errors + retryStrategy: request.RetryStrategies.HTTPOrNetworkError +}).then(res => { + // Body +}); + // HTTPOrNetworkError strategy. request({ url: 'https://api.example.com/v1/a/b',