Use X-Ratelimit-Reset-After header by default.
There is now an option to turn it off, of course.
This commit is contained in:
@ -302,10 +302,15 @@ def _bytes_to_base64_data(data):
|
||||
def to_json(obj):
|
||||
return json.dumps(obj, separators=(',', ':'), ensure_ascii=True)
|
||||
|
||||
def _parse_ratelimit_header(request):
|
||||
now = parsedate_to_datetime(request.headers['Date'])
|
||||
reset = datetime.datetime.fromtimestamp(float(request.headers['X-Ratelimit-Reset']), datetime.timezone.utc)
|
||||
return (reset - now).total_seconds()
|
||||
def _parse_ratelimit_header(request, *, use_clock=False):
|
||||
reset_after = request.headers.get('X-Ratelimit-Reset-After')
|
||||
if use_clock or not reset_after:
|
||||
utc = datetime.timezone.utc
|
||||
now = datetime.datetime.now(utc)
|
||||
reset = datetime.datetime.fromtimestamp(float(request.headers['X-Ratelimit-Reset']), utc)
|
||||
return (reset - now).total_seconds()
|
||||
else:
|
||||
return float(reset_after)
|
||||
|
||||
async def maybe_coroutine(f, *args, **kwargs):
|
||||
value = f(*args, **kwargs)
|
||||
|
Reference in New Issue
Block a user