LWP-UserAgent-Determined on 5.10.0 (on OSX)
At LWP/UserAgent/Determined.pm:62 there's the line
$self->codes_to_determinate( { map $_=>1,
'408', # Request Timeout
'500', # Internal Server Error
'502', # Bad Gateway
'503', # Service Unavailable
'504', # Gateway Timeout
} );
I don't believe this is doing what's expected, as you can see with:
use YAML::Syck;
print Dump (
{ map $_=>1,
'408', # Request Timeout
'500', # Internal Server Error
'502', # Bad Gateway
'503', # Service Unavailable
'504', # Gateway Timeout
} );
$ perl t.pl
---
1: 408
500: 502
503: 504
As it happens, HTTP 500 (the most common response) will retry, but some
of the others won't.
One fix is to use 'map { $_ => 1 } ...'
Cheers