aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/undici/lib/dispatcher/retry-agent.js
diff options
context:
space:
mode:
Diffstat (limited to 'vanilla/node_modules/undici/lib/dispatcher/retry-agent.js')
-rw-r--r--vanilla/node_modules/undici/lib/dispatcher/retry-agent.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/vanilla/node_modules/undici/lib/dispatcher/retry-agent.js b/vanilla/node_modules/undici/lib/dispatcher/retry-agent.js
new file mode 100644
index 0000000..0c2120d
--- /dev/null
+++ b/vanilla/node_modules/undici/lib/dispatcher/retry-agent.js
@@ -0,0 +1,35 @@
+'use strict'
+
+const Dispatcher = require('./dispatcher')
+const RetryHandler = require('../handler/retry-handler')
+
+class RetryAgent extends Dispatcher {
+ #agent = null
+ #options = null
+ constructor (agent, options = {}) {
+ super(options)
+ this.#agent = agent
+ this.#options = options
+ }
+
+ dispatch (opts, handler) {
+ const retry = new RetryHandler({
+ ...opts,
+ retryOptions: this.#options
+ }, {
+ dispatch: this.#agent.dispatch.bind(this.#agent),
+ handler
+ })
+ return this.#agent.dispatch(opts, retry)
+ }
+
+ close () {
+ return this.#agent.close()
+ }
+
+ destroy () {
+ return this.#agent.destroy()
+ }
+}
+
+module.exports = RetryAgent