Fixes webfinger

This commit is contained in:
Mouse Reeve
2020-11-01 10:42:48 -08:00
parent 29094f3c3f
commit 203a0a25eb
4 changed files with 23 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
''' responds to various requests to /.well-know '''
from django.http import HttpResponseBadRequest, HttpResponseNotFound
from django.http import HttpResponseNotFound
from django.http import JsonResponse
from bookwyrm import models
@@ -13,11 +13,14 @@ def webfinger(request):
resource = request.GET.get('resource')
if not resource and not resource.startswith('acct:'):
return HttpResponseBadRequest()
ap_id = resource.replace('acct:', '')
user = models.User.objects.filter(username=ap_id).first()
if not user:
return HttpResponseNotFound()
username = resource.replace('acct:@', '')
try:
user = models.User.objects.get(username=username)
except models.User.DoesNotExist:
return HttpResponseNotFound('No account found')
return JsonResponse({
'subject': 'acct:%s' % (user.username),
'links': [