This commit is contained in:
Sorunome 2020-01-19 15:09:46 +01:00
parent e409951319
commit 1e63b595c3
No known key found for this signature in database
GPG key ID: 63E31F7B5993A9C4
4 changed files with 14 additions and 11 deletions

View file

@ -823,7 +823,7 @@ class FederationClient(FederationBase):
destination=destination, destination=destination,
room_id=pdu.room_id, room_id=pdu.room_id,
event_id=pdu.event_id, event_id=pdu.event_id,
content=pdu.get_pdu_json(time_now) content=pdu.get_pdu_json(time_now),
) )
return content return content

View file

@ -549,6 +549,7 @@ class FederationMakeKnockServlet(BaseFederationServlet):
content = await self.handler.on_make_knock_request(origin, context, user_id) content = await self.handler.on_make_knock_request(origin, context, user_id)
return 200, content return 200, content
class FederationV1MakeKnockServlet(BaseFederationServlet): class FederationV1MakeKnockServlet(BaseFederationServlet):
PATH = "/send_knock/(?P<room_id>[^/]*)/(?P<event_id>[^/]*)" PATH = "/send_knock/(?P<room_id>[^/]*)/(?P<event_id>[^/]*)"
@ -556,6 +557,7 @@ class FederationV1MakeKnockServlet(BaseFederationServlet):
content = await self.handler.on_send_knock_request(origin, content, room_id) content = await self.handler.on_send_knock_request(origin, content, room_id)
return 200, content return 200, content
class FederationEventAuthServlet(BaseFederationServlet): class FederationEventAuthServlet(BaseFederationServlet):
PATH = "/event_auth/(?P<context>[^/]*)/(?P<event_id>[^/]*)" PATH = "/event_auth/(?P<context>[^/]*)/(?P<event_id>[^/]*)"

View file

@ -485,9 +485,9 @@ class RoomMemberHandler(object):
content["membership"] = Membership.KNOCK content["membership"] = Membership.KNOCK
profile = self.profile_handler profile = self.profile_handler
if not "displayname" in content: if "displayname" not in content:
content["displayname"] = yield profile.get_displayname(target) content["displayname"] = yield profile.get_displayname(target)
if not "avatar_url" in content: if "avatar_url" not in content:
content["avatar_url"] = yield profile.get_avatar_url(target) content["avatar_url"] = yield profile.get_avatar_url(target)
remote_knock_response = yield self._remote_knock( remote_knock_response = yield self._remote_knock(

View file

@ -15,28 +15,29 @@
import logging import logging
from synapse.api.errors import AuthError, SynapseError from synapse.api.errors import SynapseError
from synapse.http.servlet import RestServlet, parse_json_object_from_request from synapse.http.servlet import RestServlet, parse_json_object_from_request
from synapse.logging.opentracing import set_tag
from synapse.rest.client.transactions import HttpTransactionCache from synapse.rest.client.transactions import HttpTransactionCache
from synapse.types import RoomAlias, RoomID, StreamToken, ThirdPartyInstanceID, UserID from synapse.types import RoomAlias, RoomID
from ._base import client_patterns from ._base import client_patterns
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class TransactionRestServlet(RestServlet): class TransactionRestServlet(RestServlet):
def __init__(self, hs): def __init__(self, hs):
super(TransactionRestServlet, self).__init__() super(TransactionRestServlet, self).__init__()
self.txns = HttpTransactionCache(hs) self.txns = HttpTransactionCache(hs)
class KnockServlet(TransactionRestServlet): class KnockServlet(TransactionRestServlet):
""" """
POST /rooms/{roomId}/knock POST /rooms/{roomId}/knock
""" """
PATTERNS = client_patterns( PATTERNS = client_patterns("/rooms/(?P<room_id>[^/]*)/knock")
"/rooms/(?P<room_id>[^/]*)/knock"
)
def __init__(self, hs): def __init__(self, hs):
super(KnockServlet, self).__init__(hs) super(KnockServlet, self).__init__(hs)
@ -70,14 +71,13 @@ class KnockServlet(TransactionRestServlet):
request, self.on_POST, request, room_id, txn_id request, self.on_POST, request, room_id, txn_id
) )
class KnockRoomALiasServlet(TransactionRestServlet): class KnockRoomALiasServlet(TransactionRestServlet):
""" """
POST /knock/{roomIdOrAlias} POST /knock/{roomIdOrAlias}
""" """
PATTERNS = client_patterns( PATTERNS = client_patterns("/knock/(?P<room_identifier>[^/]*)")
"/knock/(?P<room_identifier>[^/]*)"
)
def __init__(self, hs): def __init__(self, hs):
super(KnockRoomALiasServlet, self).__init__(hs) super(KnockRoomALiasServlet, self).__init__(hs)
@ -130,6 +130,7 @@ class KnockRoomALiasServlet(TransactionRestServlet):
request, self.on_POST, request, room_identifier, txn_id request, self.on_POST, request, room_identifier, txn_id
) )
def register_servlets(hs, http_server): def register_servlets(hs, http_server):
KnockServlet(hs).register(http_server) KnockServlet(hs).register(http_server)
KnockRoomALiasServlet(hs).register(http_server) KnockRoomALiasServlet(hs).register(http_server)