More error handling for remote fetch
This commit is contained in:
parent
a1acbd16f3
commit
facdd2c080
@ -270,12 +270,15 @@ class Identity(StatorModel):
|
||||
(actor uri, canonical handle) or None, None if it does not resolve.
|
||||
"""
|
||||
domain = handle.split("@")[1]
|
||||
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
|
||||
|
Reference in New Issue
Block a user