NAME
HTTP::Tiny::Plugin::Retry - Retry failed request
VERSION
This document describes version 0.004 of HTTP::Tiny::Plugin::Retry (from Perl distribution HTTP-Tiny-Plugin-Retry), released on 2020-08-14.
SYNOPSIS
use HTTP::Tiny::Plugin 'Retry' => {
max_attempts => 3, # optional, default 3
delay => 2, # optional, default 2
retry_if => qr/^[45]/, # optional, default is only 5xx errors are retried
};
my $res = HTTP::Tiny::Plugin->new->get("http://www.example.com/");
DESCRIPTION
This plugin retries failed response. By default only retries 5xx failures, as 4xx are considered to be client's fault (but you can configure it with "retry_if").
CONFIGURATION
max_attempts
Int. Default 4.
delay
Float.
retry_if
Regex (or scalra), or arrayref, or coderef. If regex or scalar, then will be matched against response status. If array, then will be assumed to be status codes to trigger retry. If coderef, will be called with arguments: ($class, $response)
($class
is the plugin class name) and a true return value will trigger retry.
strategy
Algorithm::Backoff::* module name, without the prefix and with optional arguments (see "instantiate_class_with_optional_args" in Module::Load::Util), e.g. "Constant"
, ["Exponential" => {initial_delay=>2, max_delay=>100}]
, "Exponential=initial_delay,2,max_delay,100"
.
If set, will use delay and maximum attempt values from specified Algorithm::Backoff backoff strategry instead of max_attempts
and delay
.
ENVIRONMENT
HTTP_TINY_PLUGIN_RETRY_MAX_ATTEMPTS
Int.
HTTP_TINY_PLUGIN_RETRY_DELAY
Int.
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/HTTP-Tiny-Plugin-Retry.
SOURCE
Source repository is at https://github.com/perlancar/perl-HTTP-Tiny-Plugin-Retry.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny-Plugin-Retry
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
SEE ALSO
Equivalent plugin for LWP::UserAgent::Plugin: LWP::UserAgent::Plugin::Retry.
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.