Skip to content
Snippets Groups Projects
Verified Commit d39edae0 authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Fixed crashing nodeinfo fetching when remote answers with invalid JSON

parent 62939d68
No related branches found
No related tags found
No related merge requests found
......@@ -190,7 +190,7 @@ def update_domain_nodeinfo(domain):
now = timezone.now()
try:
nodeinfo = {"status": "ok", "payload": fetch_nodeinfo(domain.name)}
except (requests.RequestException, serializers.serializers.ValidationError) as e:
except (requests.RequestException, serializers.serializers.ValidationError, ValueError) as e:
nodeinfo = {"status": "error", "error": str(e)}
service_actor_id = common_utils.recursive_getattr(
......
......@@ -371,7 +371,7 @@ class ManageDomainViewSet(
def perform_create(self, serializer):
domain = serializer.save()
federation_tasks.update_domain_nodeinfo.delay(domain_name=domain.name)
federation_tasks.update_domain_nodeinfo(domain_name=domain.name)
@rest_decorators.action(methods=["get"], detail=True)
def nodeinfo(self, request, *args, **kwargs):
......
......@@ -63,7 +63,7 @@ def test_domain_detail(factories, superuser_api_client):
def test_domain_create(superuser_api_client, mocker):
update_domain_nodeinfo = mocker.patch(
"funkwhale_api.federation.tasks.update_domain_nodeinfo.delay"
"funkwhale_api.federation.tasks.update_domain_nodeinfo"
)
url = reverse("api:v1:manage:federation:domains-list")
response = superuser_api_client.post(url, {"name": "test.federation"})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment