getOptimalTimeout method
Gets the optimal timeout for the given URL based on past performance
Implementation
int getOptimalTimeout(String url, int defaultTimeout) {
final domain = _extractDomain(url);
if (domain == null) return defaultTimeout;
if (_siteReputations.containsKey(domain)) {
final reputation = _siteReputations[domain]!;
// If the site has timeout issues, increase the timeout
if (reputation.hasErrorPattern('timeout')) {
return defaultTimeout * 2;
}
// If the site has connection issues, increase the timeout
if (reputation.hasErrorPattern('connection')) {
return defaultTimeout * 2;
}
}
return defaultTimeout;
}