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-Retr
    y>

    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
    HTTP::Tiny::Plugin

    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.

