middleware method
Middleware provided by the plugin.
Implementation
@override
List<GenerateMiddlewareDef> middleware() => [
defineMiddleware<RetryOptions>(
name: 'retry',
configSchema: RetryOptions.$schema,
create: (config, ctx) => RetryMiddleware(
maxRetries: config?.maxRetries ?? 3,
statuses: config?.statuses ?? RetryMiddleware.defaultRetryStatuses,
initialDelayMs: config?.initialDelayMs ?? 1000,
maxDelayMs: config?.maxDelayMs ?? 60000,
backoffFactor: config?.backoffFactor ?? 2.0,
noJitter: config?.noJitter ?? false,
retryModel: config?.retryModel ?? true,
retryTools: config?.retryTools ?? false,
),
),
];