From e852c8400757b8a3e38279c4fd4d49fee169d58a Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Wed, 16 May 2018 21:45:03 +0200 Subject: [PATCH] Fix #197: .well-known/nodeinfo endpoint can now answer to request with Accept: application/json --- api/funkwhale_api/federation/views.py | 2 +- api/tests/federation/test_views.py | 7 +++++-- changes/changelog.d/197.bugfix | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 changes/changelog.d/197.bugfix diff --git a/api/funkwhale_api/federation/views.py b/api/funkwhale_api/federation/views.py index ef581408..37ad9ebf 100644 --- a/api/funkwhale_api/federation/views.py +++ b/api/funkwhale_api/federation/views.py @@ -88,7 +88,7 @@ class InstanceActorViewSet(FederationMixin, viewsets.GenericViewSet): class WellKnownViewSet(viewsets.GenericViewSet): authentication_classes = [] permission_classes = [] - renderer_classes = [renderers.WebfingerRenderer] + renderer_classes = [renderers.JSONRenderer, renderers.WebfingerRenderer] @list_route(methods=['get']) def nodeinfo(self, request, *args, **kwargs): diff --git a/api/tests/federation/test_views.py b/api/tests/federation/test_views.py index cc81f065..fd6ac2eb 100644 --- a/api/tests/federation/test_views.py +++ b/api/tests/federation/test_views.py @@ -62,7 +62,10 @@ def test_wellknown_webfinger_system( actor = actors.SYSTEM_ACTORS[system_actor].get_actor_instance() url = reverse('federation:well-known-webfinger') response = api_client.get( - url, data={'resource': 'acct:{}'.format(actor.webfinger_subject)}) + url, + data={'resource': 'acct:{}'.format(actor.webfinger_subject)}, + HTTP_ACCEPT='application/jrd+json', + ) serializer = serializers.ActorWebfingerSerializer(actor) assert response.status_code == 200 @@ -83,7 +86,7 @@ def test_wellknown_nodeinfo(db, preferences, api_client, settings): ] } url = reverse('federation:well-known-nodeinfo') - response = api_client.get(url) + response = api_client.get(url, HTTP_ACCEPT='application/jrd+json') assert response.status_code == 200 assert response['Content-Type'] == 'application/jrd+json' assert response.data == expected diff --git a/changes/changelog.d/197.bugfix b/changes/changelog.d/197.bugfix new file mode 100644 index 00000000..d40182f5 --- /dev/null +++ b/changes/changelog.d/197.bugfix @@ -0,0 +1 @@ +.well-known/nodeinfo endpoint can now answer to request with Accept: application/json (#197) -- GitLab