in osci/crawlers/github/rest.py [0:0]
def request(self, method, url, **kwargs) -> requests.Response:
"""Override request method to patch requests headers and parse response headers"""
resp = self.__make_request(method=method, url=url, **kwargs)
if self.wait_til_limits and resp.status_code == 403 and self.limits.limit_reset_time is not None:
wait: datetime.timedelta = self.limits.limit_reset_time - datetime.datetime.now()
log.warning(f'{method} response [{resp.status_code}]'
f'remaining_retries={self.limits.requests_remaining} '
f'Wait til {self.limits.limit_reset_time} ({wait})'
f'url=`{url}`')
time.sleep(wait.total_seconds())
log.debug(f"Retry making request to Github API method={method}, url={url}, kwargs={kwargs} "
f"after reset limits")
resp = self.__make_request(method=method, url=url, **kwargs)
return resp