diff --git a/api/funkwhale_api/instance/views.py b/api/funkwhale_api/instance/views.py index b40721c9c..5953ca555 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 4ac79086e..468c0ddae 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