aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node_modules/undici/docs/api/RetryHandler.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/undici/docs/api/RetryHandler.md')
-rw-r--r--node_modules/undici/docs/api/RetryHandler.md108
1 files changed, 0 insertions, 108 deletions
diff --git a/node_modules/undici/docs/api/RetryHandler.md b/node_modules/undici/docs/api/RetryHandler.md
deleted file mode 100644
index 2323ce4..0000000
--- a/node_modules/undici/docs/api/RetryHandler.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# Class: RetryHandler
-
-Extends: `undici.DispatcherHandlers`
-
-A handler class that implements the retry logic for a request.
-
-## `new RetryHandler(dispatchOptions, retryHandlers, [retryOptions])`
-
-Arguments:
-
-- **options** `Dispatch.DispatchOptions & RetryOptions` (required) - It is an intersection of `Dispatcher.DispatchOptions` and `RetryOptions`.
-- **retryHandlers** `RetryHandlers` (required) - Object containing the `dispatch` to be used on every retry, and `handler` for handling the `dispatch` lifecycle.
-
-Returns: `retryHandler`
-
-### Parameter: `Dispatch.DispatchOptions & RetryOptions`
-
-Extends: [`Dispatch.DispatchOptions`](Dispatcher.md#parameter-dispatchoptions).
-
-#### `RetryOptions`
-
-- **retry** `(err: Error, context: RetryContext, callback: (err?: Error | null) => void) => void` (optional) - Function to be called after every retry. It should pass error if no more retries should be performed.
-- **maxRetries** `number` (optional) - Maximum number of retries. Default: `5`
-- **maxTimeout** `number` (optional) - Maximum number of milliseconds to wait before retrying. Default: `30000` (30 seconds)
-- **minTimeout** `number` (optional) - Minimum number of milliseconds to wait before retrying. Default: `500` (half a second)
-- **timeoutFactor** `number` (optional) - Factor to multiply the timeout by for each retry attempt. Default: `2`
-- **retryAfter** `boolean` (optional) - It enables automatic retry after the `Retry-After` header is received. Default: `true`
--
-- **methods** `string[]` (optional) - Array of HTTP methods to retry. Default: `['GET', 'PUT', 'HEAD', 'OPTIONS', 'DELETE']`
-- **statusCodes** `number[]` (optional) - Array of HTTP status codes to retry. Default: `[429, 500, 502, 503, 504]`
-- **errorCodes** `string[]` (optional) - Array of Error codes to retry. Default: `['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'ENETDOWN','ENETUNREACH', 'EHOSTDOWN',
-
-**`RetryContext`**
-
-- `state`: `RetryState` - Current retry state. It can be mutated.
-- `opts`: `Dispatch.DispatchOptions & RetryOptions` - Options passed to the retry handler.
-
-### Parameter `RetryHandlers`
-
-- **dispatch** `(options: Dispatch.DispatchOptions, handlers: Dispatch.DispatchHandlers) => Promise<Dispatch.DispatchResponse>` (required) - Dispatch function to be called after every retry.
-- **handler** Extends [`Dispatch.DispatchHandlers`](Dispatcher.md#dispatcherdispatchoptions-handler) (required) - Handler function to be called after the request is successful or the retries are exhausted.
-
-Examples:
-
-```js
-const client = new Client(`http://localhost:${server.address().port}`);
-const chunks = [];
-const handler = new RetryHandler(
- {
- ...dispatchOptions,
- retryOptions: {
- // custom retry function
- retry: function (err, state, callback) {
- counter++;
-
- if (err.code && err.code === "UND_ERR_DESTROYED") {
- callback(err);
- return;
- }
-
- if (err.statusCode === 206) {
- callback(err);
- return;
- }
-
- setTimeout(() => callback(null), 1000);
- },
- },
- },
- {
- dispatch: (...args) => {
- return client.dispatch(...args);
- },
- handler: {
- onConnect() {},
- onBodySent() {},
- onHeaders(status, _rawHeaders, resume, _statusMessage) {
- // do something with headers
- },
- onData(chunk) {
- chunks.push(chunk);
- return true;
- },
- onComplete() {},
- onError() {
- // handle error properly
- },
- },
- }
-);
-```
-
-#### Example - Basic RetryHandler with defaults
-
-```js
-const client = new Client(`http://localhost:${server.address().port}`);
-const handler = new RetryHandler(dispatchOptions, {
- dispatch: client.dispatch.bind(client),
- handler: {
- onConnect() {},
- onBodySent() {},
- onHeaders(status, _rawHeaders, resume, _statusMessage) {},
- onData(chunk) {},
- onComplete() {},
- onError(err) {},
- },
-});
-```