mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-12-22 19:21:08 +00:00
fix distill_inboxes
This commit is contained in:
parent
5397bb4653
commit
1a7abb4ecb
|
@ -184,3 +184,14 @@ class RelayDatabase(dict):
|
|||
domain = urlparse(inbox).hostname
|
||||
|
||||
del self['follow-requests'][domain]
|
||||
|
||||
|
||||
def distill_inboxes(self, message):
|
||||
src_domains = {
|
||||
message.domain,
|
||||
urlparse(message.objectid).netloc
|
||||
}
|
||||
|
||||
for domain, instance in self['relay-list'].items():
|
||||
if domain not in src_domains:
|
||||
yield instance['inbox']
|
||||
|
|
|
@ -84,12 +84,6 @@ def check_open_port(host, port):
|
|||
return False
|
||||
|
||||
|
||||
def distill_inboxes(actor, object_id):
|
||||
for inbox in app.database.inboxes:
|
||||
if inbox != actor.shared_inbox and urlparse(inbox).hostname != urlparse(object_id).hostname:
|
||||
yield inbox
|
||||
|
||||
|
||||
class DotDict(dict):
|
||||
def __init__(self, _data, **kwargs):
|
||||
dict.__init__(self)
|
||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
|||
from cachetools import LRUCache
|
||||
from uuid import uuid4
|
||||
|
||||
from .misc import Message, distill_inboxes
|
||||
from .misc import Message
|
||||
|
||||
|
||||
cache = LRUCache(1024)
|
||||
|
@ -23,7 +23,7 @@ async def handle_relay(request):
|
|||
cache[request.message.objectid] = message.id
|
||||
logging.debug(f'>> relay: {message}')
|
||||
|
||||
inboxes = distill_inboxes(request.actor, request.message.objectid)
|
||||
niboxes = request.database.distill_inboxes(request.message)
|
||||
|
||||
for inbox in inboxes:
|
||||
request.app.push_message(inbox, message)
|
||||
|
@ -42,7 +42,7 @@ async def handle_forward(request):
|
|||
cache[request.message.id] = message.id
|
||||
logging.debug(f'>> forward: {message}')
|
||||
|
||||
inboxes = distill_inboxes(request.actor, request.message.objectid)
|
||||
inboxes = request.database.distill_inboxes(request.message)
|
||||
|
||||
for inbox in inboxes:
|
||||
request.app.push_message(inbox, message)
|
||||
|
|
Loading…
Reference in a new issue