|
|
@@ -15,14 +15,18 @@ namespace Discord.Net |
|
|
|
internal RateLimitInfo(Dictionary<string, string> headers) |
|
|
|
{ |
|
|
|
string temp; |
|
|
|
IsGlobal = headers.TryGetValue("X-RateLimit-Global", out temp) ? bool.Parse(temp) : false; |
|
|
|
Limit = headers.TryGetValue("X-RateLimit-Limit", out temp) ? int.Parse(temp) : (int?)null; |
|
|
|
Remaining = headers.TryGetValue("X-RateLimit-Remaining", out temp) ? int.Parse(temp) : (int?)null; |
|
|
|
Reset = headers.TryGetValue("X-RateLimit-Reset", out temp) ? |
|
|
|
DateTimeUtils.FromUnixSeconds(int.Parse(temp)) : (DateTimeOffset?)null; |
|
|
|
RetryAfter = headers.TryGetValue("Retry-After", out temp) ? int.Parse(temp) : (int?)null; |
|
|
|
Lag = headers.TryGetValue("Date", out temp) ? |
|
|
|
DateTimeOffset.UtcNow - DateTimeOffset.Parse(temp) : (TimeSpan?)null; |
|
|
|
IsGlobal = headers.TryGetValue("X-RateLimit-Global", out temp) && |
|
|
|
bool.TryParse(temp, out var isGlobal) ? isGlobal : false; |
|
|
|
Limit = headers.TryGetValue("X-RateLimit-Limit", out temp) && |
|
|
|
int.TryParse(temp, out var limit) ? limit : (int?)null; |
|
|
|
Remaining = headers.TryGetValue("X-RateLimit-Remaining", out temp) && |
|
|
|
int.TryParse(temp, out var remaining) ? remaining : (int?)null; |
|
|
|
Reset = headers.TryGetValue("X-RateLimit-Reset", out temp) && |
|
|
|
int.TryParse(temp, out var reset) ? DateTimeUtils.FromUnixSeconds(reset) : (DateTimeOffset?)null; |
|
|
|
RetryAfter = headers.TryGetValue("Retry-After", out temp) && |
|
|
|
int.TryParse(temp, out var retryAfter) ? retryAfter : (int?)null; |
|
|
|
Lag = headers.TryGetValue("Date", out temp) && |
|
|
|
DateTimeOffset.TryParse(temp, out var date) ? DateTimeOffset.UtcNow - date : (TimeSpan?)null; |
|
|
|
} |
|
|
|
} |
|
|
|
} |