Subject: | DNS timeouts result in a 403 error |
Suppose I'm making a request with LWP::UserAgent::Paranoid, and a network blip causes my DNS request to timeout. Net::DNS::Paranoid will return undef with an error, and LWPx::ParanoidAgent will return a 403 status to the client, which means that the client did something wrong.
If the request returned a 5xx status, meaning a server failure, my client would retry it, but a 4xx status won't be automatically retried.
I think that LWPx::ParanoidAgent should only give a 403 response when Net::DNS::Paranoid says that the host was blocked. For other (possibly transient) errors which aren't the client's fault, the error response should be 5xx (500 or 503).