Outbox sensitive to user agent strings
This commit is contained in:
@ -13,7 +13,7 @@ from bookwyrm.activitypub import ActivitypubResponse
|
||||
from bookwyrm.settings import PAGE_LENGTH
|
||||
from .helpers import get_activity_feed
|
||||
from .helpers import get_user_from_username
|
||||
from .helpers import is_api_request, is_bookworm_request, object_visible_to_user
|
||||
from .helpers import is_api_request, is_bookwyrm_request, object_visible_to_user
|
||||
|
||||
|
||||
# pylint: disable= no-self-use
|
||||
@ -107,7 +107,7 @@ class Status(View):
|
||||
|
||||
if is_api_request(request):
|
||||
return ActivitypubResponse(
|
||||
status.to_activity(pure=not is_bookworm_request(request)))
|
||||
status.to_activity(pure=not is_bookwyrm_request(request)))
|
||||
|
||||
data = {**feed_page_data(request.user), **{
|
||||
'title': 'Status by %s' % user.username,
|
||||
|
@ -24,8 +24,8 @@ def is_api_request(request):
|
||||
request.path[-5:] == '.json'
|
||||
|
||||
|
||||
def is_bookworm_request(request):
|
||||
''' check if the request is coming from another bookworm instance '''
|
||||
def is_bookwyrm_request(request):
|
||||
''' check if the request is coming from another bookwyrm instance '''
|
||||
user_agent = request.headers.get('User-Agent')
|
||||
if user_agent is None or \
|
||||
re.search(regex.bookwyrm_user_agent, user_agent) is None:
|
||||
|
@ -4,6 +4,7 @@ from django.shortcuts import get_object_or_404
|
||||
from django.views import View
|
||||
|
||||
from bookwyrm import activitypub, models
|
||||
from .helpers import is_bookwyrm_request
|
||||
|
||||
|
||||
# pylint: disable= no-self-use
|
||||
@ -17,6 +18,10 @@ class Outbox(View):
|
||||
filter_type = None
|
||||
|
||||
return JsonResponse(
|
||||
user.to_outbox(**request.GET, filter_type=filter_type),
|
||||
user.to_outbox(
|
||||
**request.GET,
|
||||
filter_type=filter_type,
|
||||
pure=not is_bookwyrm_request(request)
|
||||
),
|
||||
encoder=activitypub.ActivityEncoder
|
||||
)
|
||||
|
Reference in New Issue
Block a user