Merge pull request #95 from NielsOerbaek/main

Handle unknown authorization error with status 200
Этот коммит содержится в:
vladkens 2023-12-26 23:23:01 +02:00 коммит произвёл GitHub
родитель 03d0abb325 87acabb76b
Коммит ae4419c9e4
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23

Просмотреть файл

@ -38,11 +38,14 @@ class RateLimitError(Exception):
class BannedError(Exception): class BannedError(Exception):
pass pass
class DependencyError(Exception): class DependencyError(Exception):
pass pass
class UnknownAuthorizationError(Exception):
pass
def req_id(rep: httpx.Response): def req_id(rep: httpx.Response):
lr = str(rep.headers.get("x-rate-limit-remaining", -1)) lr = str(rep.headers.get("x-rate-limit-remaining", -1))
ll = str(rep.headers.get("x-rate-limit-limit", -1)) ll = str(rep.headers.get("x-rate-limit-limit", -1))
@ -170,10 +173,16 @@ class QueueClient:
if rep.status_code == 200 and "_Missing: No status found with that ID." in msg: if rep.status_code == 200 and "_Missing: No status found with that ID." in msg:
return # ignore this error return # ignore this error
if rep.status_code == 200 and "Authorization" in msg:
return # ignore this error
raise UnknownAuthorizationError(msg)
# todo: (32) Could not authenticate you # todo: (32) Could not authenticate you
if msg != "OK": if msg != "OK":
raise ApiError(rep, res) logger.error(f"Unknown error: {msg}")
return # ignore this error
#raise ApiError(rep, res)
rep.raise_for_status() rep.raise_for_status()
@ -197,7 +206,10 @@ class QueueClient:
# already handled # already handled
continue continue
except DependencyError: except DependencyError:
logger.error(f"Dependency error, returnning: {url}") logger.error(f"Dependency error, returning: {url}")
return
except UnknownAuthorizationError:
logger.error(f"Unknown authorization error, returning: {url}")
return return
except (httpx.ReadTimeout, httpx.ProxyError): except (httpx.ReadTimeout, httpx.ProxyError):
# http transport failed, just retry # http transport failed, just retry