Merge branch 'allow-disabling-ap-webfinger' into 'master'

Disable ActivityPub limited features by default when on Django

See merge request jaywink/federation!139
merge-requests/141/head
Jason Robinson 2019-01-29 19:53:22 +00:00
commit 4f2e57c579
4 zmienionych plików z 29 dodań i 5 usunięć

Wyświetl plik

@ -1,6 +1,6 @@
from django.http import JsonResponse, HttpResponse, HttpResponseNotFound
from federation.utils.django import get_function_from_config
from federation.utils.django import get_function_from_config, get_configuration
def activitypub_object_view(func):
@ -15,6 +15,11 @@ def activitypub_object_view(func):
def inner(request, *args, **kwargs):
def get(request, *args, **kwargs):
# TODO remove once AP support is more ready
config = get_configuration()
if not config.get("activitypub"):
return func(request, *args, **kwargs)
fallback = True
accept = request.META.get('HTTP_ACCEPT', '')
for content_type in (

Wyświetl plik

@ -8,6 +8,8 @@ from jsonschema import validate
from jsonschema.exceptions import ValidationError
from xrd import XRD, Link, Element
from federation.utils.django import get_configuration
def generate_host_meta(template=None, *args, **kwargs):
"""Generate a host-meta XRD document.
@ -386,13 +388,26 @@ class RFC7033Webfinger:
"rel": "salmon",
"href": "%s/receive/users/%s" % (self.base_url, self.guid),
},
{
],
}
# TODO remove once AP support is more ready
try:
config = get_configuration()
except ImportError:
webfinger["links"].append({
"rel": "self",
"href": self.id,
"type": "application/activity+json",
})
else:
if config.get("activitypub"):
webfinger["links"].append({
"rel": "self",
"href": self.id,
"type": "application/activity+json",
},
],
}
})
if self.atom_path:
webfinger['links'].append(
{

Wyświetl plik

@ -8,4 +8,6 @@ FEDERATION = {
"get_profile_function": "federation.tests.django.utils.get_profile",
"process_payload_function": "federation.tests.django.utils.process_payload",
"search_path": "/search?q=",
# TODO remove once AP support is more ready
"activitypub": True,
}

Wyświetl plik

@ -14,6 +14,8 @@ def get_configuration():
"nodeinfo2_function": None,
"process_payload_function": None,
"search_path": None,
# TODO remove or default to True once AP support is more ready
"activitypub": False,
}
configuration.update(settings.FEDERATION)
if not all([