初始化环境文件
This commit is contained in:
21
node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js
generated
vendored
Normal file
21
node_modules/@smithy/middleware-retry/dist-es/AdaptiveRetryStrategy.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import { DefaultRateLimiter, RETRY_MODES } from "@smithy/util-retry";
|
||||
import { StandardRetryStrategy } from "./StandardRetryStrategy";
|
||||
export class AdaptiveRetryStrategy extends StandardRetryStrategy {
|
||||
rateLimiter;
|
||||
constructor(maxAttemptsProvider, options) {
|
||||
const { rateLimiter, ...superOptions } = options ?? {};
|
||||
super(maxAttemptsProvider, superOptions);
|
||||
this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();
|
||||
this.mode = RETRY_MODES.ADAPTIVE;
|
||||
}
|
||||
async retry(next, args) {
|
||||
return super.retry(next, args, {
|
||||
beforeRequest: async () => {
|
||||
return this.rateLimiter.getSendToken();
|
||||
},
|
||||
afterRequest: (response) => {
|
||||
this.rateLimiter.updateClientSendingRate(response);
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user