43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
declare module 'retry-request' {
|
|
import * as request from 'request';
|
|
import * as teenyRequest from 'teeny-request';
|
|
|
|
type teenyRequestFunction = typeof teenyRequest extends Function
|
|
? typeof teenyRequest
|
|
: never;
|
|
|
|
namespace retryRequest {
|
|
/**
|
|
* Set the defaults for `retryRequest`.
|
|
*/
|
|
const defaults: retryRequest.Options;
|
|
/**
|
|
* Determines the next retry based on the provided configuration.
|
|
*/
|
|
function getNextRetryDelay(config: Options): number;
|
|
interface Options {
|
|
objectMode?: boolean;
|
|
request: typeof request | teenyRequestFunction;
|
|
retries?: number;
|
|
noResponseRetries?: number;
|
|
currentRetryAttempt?: number;
|
|
maxRetryDelay?: number;
|
|
retryDelayMultiplier?: number;
|
|
totalTimeout?: number;
|
|
shouldRetryFn?: (response: request.RequestResponse) => boolean;
|
|
}
|
|
}
|
|
|
|
function retryRequest(
|
|
requestOpts: request.Options,
|
|
opts: retryRequest.Options,
|
|
callback?: request.RequestCallback
|
|
): {abort: () => void};
|
|
function retryRequest(
|
|
requestOpts: request.Options,
|
|
callback?: request.RequestCallback
|
|
): {abort: () => void};
|
|
|
|
export = retryRequest;
|
|
}
|