mirror of
https://github.com/jointakahe/takahe.git
synced 2024-11-25 16:51:00 +00:00
More error handling for remote fetch
This commit is contained in:
parent
a1acbd16f3
commit
facdd2c080
1 changed files with 10 additions and 7 deletions
|
@ -270,12 +270,15 @@ class Identity(StatorModel):
|
|||
(actor uri, canonical handle) or None, None if it does not resolve.
|
||||
"""
|
||||
domain = handle.split("@")[1]
|
||||
async with httpx.AsyncClient() as client:
|
||||
response = await client.get(
|
||||
f"https://{domain}/.well-known/webfinger?resource=acct:{handle}",
|
||||
headers={"Accept": "application/json"},
|
||||
follow_redirects=True,
|
||||
)
|
||||
try:
|
||||
async with httpx.AsyncClient() as client:
|
||||
response = await client.get(
|
||||
f"https://{domain}/.well-known/webfinger?resource=acct:{handle}",
|
||||
headers={"Accept": "application/json"},
|
||||
follow_redirects=True,
|
||||
)
|
||||
except (httpx.ReadTimeout, httpx.ReadError, httpx.RemoteProtocolError):
|
||||
return None, None
|
||||
if response.status_code >= 400:
|
||||
return None, None
|
||||
data = response.json()
|
||||
|
@ -303,7 +306,7 @@ class Identity(StatorModel):
|
|||
headers={"Accept": "application/json"},
|
||||
follow_redirects=True,
|
||||
)
|
||||
except (httpx.ReadTimeout, httpx.ReadError):
|
||||
except (httpx.ReadTimeout, httpx.ReadError, httpx.RemoteProtocolError):
|
||||
return False
|
||||
if response.status_code >= 400:
|
||||
return False
|
||||
|
|
Loading…
Reference in a new issue