xero-python
xero-python copied to clipboard
Add ability to provide retry options that are passed into urllib3
This issue is an extension of this discussion.
The issue is, in fact, worse than we thought. As previously noted, xero-python uses urllib3 under the hood and this results in 3 request retries by default. However, urllib3 also respects the Retry-After rate limiting header, and will time.sleep to wait until it should send another request. This can result in hour or day-long sleeps, which is extremely undesirable.
The proposed solution is the same as in the original discussion:
xero_python.api_client.configuration.Configuration should accept retries as an argument which in turn would be passed down to the urllib3.PoolManager or urllib3.ProxyManager during initialisation.