public static Exception Map(WebDavClientException exception) { if (exception.StatusCode == HttpTooManyRequests) { DateTime?retryAfter = null; IEnumerable <string> values; if (exception.Headers.TryGetValues("Retry-After", out values)) { if (values.Any()) { int retryAfterSeconds; if (int.TryParse(values.First(), out retryAfterSeconds)) { retryAfter = DateTime.UtcNow.AddSeconds(retryAfterSeconds); } } } return(new WebRepositoryOverloadException(retryAfter, exception)); } return(exception); }