Handle servers that return wrong webfinger payload (#415)
This commit is contained in:
parent
f69c7304c1
commit
1f44e93518
|
@ -683,14 +683,18 @@ class Identity(StatorModel):
|
|||
"JSON parse error fetching webfinger",
|
||||
response.content,
|
||||
)
|
||||
if data["subject"].startswith("acct:"):
|
||||
data["subject"] = data["subject"][5:]
|
||||
for link in data["links"]:
|
||||
if (
|
||||
link.get("type") == "application/activity+json"
|
||||
and link.get("rel") == "self"
|
||||
):
|
||||
return link["href"], data["subject"]
|
||||
try:
|
||||
if data["subject"].startswith("acct:"):
|
||||
data["subject"] = data["subject"][5:]
|
||||
for link in data["links"]:
|
||||
if (
|
||||
link.get("type") == "application/activity+json"
|
||||
and link.get("rel") == "self"
|
||||
):
|
||||
return link["href"], data["subject"]
|
||||
except KeyError:
|
||||
# Server returning wrong payload structure
|
||||
pass
|
||||
return None, None
|
||||
|
||||
async def fetch_actor(self) -> bool:
|
||||
|
|
Loading…
Reference in New Issue