1 | import { Agent } from 'http';
|
2 | import { Headers } from './Headers';
|
3 | import { ICache } from './ICache';
|
4 | import Response = require('http-response-object');
|
5 | import { CachedResponse } from './CachedResponse';
|
6 | interface Options {
|
7 | agent?: Agent | boolean;
|
8 | allowRedirectHeaders?: string[];
|
9 | cache?: 'file' | 'memory' | ICache;
|
10 | duplex?: boolean;
|
11 | followRedirects?: boolean;
|
12 | gzip?: boolean;
|
13 | headers?: Headers;
|
14 | ignoreFailedInvalidation?: boolean;
|
15 | maxRedirects?: number;
|
16 | maxRetries?: number;
|
17 | retry?: boolean | ((err: NodeJS.ErrnoException | null, res: Response<NodeJS.ReadableStream> | void, attemptNumber: number) => boolean);
|
18 | retryDelay?: number | ((err: NodeJS.ErrnoException | null, res: Response<NodeJS.ReadableStream> | void, attemptNumber: number) => number);
|
19 | socketTimeout?: number;
|
20 | timeout?: number;
|
21 | isMatch?: (requestHeaders: Headers, cachedResponse: CachedResponse, defaultValue: boolean) => boolean;
|
22 | isExpired?: (cachedResponse: CachedResponse, defaultValue: boolean) => boolean;
|
23 | canCache?: (res: Response<NodeJS.ReadableStream>, defaultValue: boolean) => boolean;
|
24 | }
|
25 | export { Options };
|