diff --git a/api/funkwhale_api/instance/views.py b/api/funkwhale_api/instance/views.py index b40721c9c76da86aa18cfde3e00231b17b73ed47..5953ca555a3081d5e58a1d60da1d3dec58279e3b 100644 --- a/api/funkwhale_api/instance/views.py +++ b/api/funkwhale_api/instance/views.py @@ -10,6 +10,11 @@ from . import nodeinfo from . import stats +NODEINFO_2_CONTENT_TYPE = ( + 'application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8' # noqa +) + + class InstanceSettings(views.APIView): permission_classes = [] authentication_classes = [] @@ -38,4 +43,5 @@ class NodeInfo(views.APIView): if not preferences.get('instance__nodeinfo_enabled'): return Response(status=404) data = nodeinfo.get() - return Response(data, status=200) + return Response( + data, status=200, content_type=NODEINFO_2_CONTENT_TYPE) diff --git a/api/tests/instance/test_views.py b/api/tests/instance/test_views.py index 4ac79086e5461324b0a4216697441516997237d6..468c0ddae9de440b3edce7fd65fdc57c6ead8fff 100644 --- a/api/tests/instance/test_views.py +++ b/api/tests/instance/test_views.py @@ -9,8 +9,9 @@ def test_nodeinfo_endpoint(db, api_client, mocker): 'funkwhale_api.instance.nodeinfo.get', return_value=payload) url = reverse('api:v1:instance:nodeinfo-2.0') response = api_client.get(url) - + ct = 'application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8' # noqa assert response.status_code == 200 + assert response['Content-Type'] == ct assert response.data == payload