mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 12:06:08 -04:00
Faster joins: Support for calling /federation/v1/state
(#12013)
This is an endpoint that we have server-side support for, but no client-side support. It's going to be useful for resyncing partial-stated rooms, so let's introduce it.
This commit is contained in:
parent
066171643b
commit
7273011f60
7 changed files with 377 additions and 17 deletions
|
@ -51,7 +51,10 @@ from twisted.web.server import Request
|
|||
|
||||
from synapse import events
|
||||
from synapse.api.constants import EventTypes, Membership
|
||||
from synapse.api.room_versions import KNOWN_ROOM_VERSIONS, RoomVersion
|
||||
from synapse.config.homeserver import HomeServerConfig
|
||||
from synapse.config.server import DEFAULT_ROOM_VERSION
|
||||
from synapse.crypto.event_signing import add_hashes_and_signatures
|
||||
from synapse.federation.transport.server import TransportLayerServer
|
||||
from synapse.http.server import JsonResource
|
||||
from synapse.http.site import SynapseRequest, SynapseSite
|
||||
|
@ -839,6 +842,24 @@ class FederatingHomeserverTestCase(HomeserverTestCase):
|
|||
client_ip=client_ip,
|
||||
)
|
||||
|
||||
def add_hashes_and_signatures(
|
||||
self,
|
||||
event_dict: JsonDict,
|
||||
room_version: RoomVersion = KNOWN_ROOM_VERSIONS[DEFAULT_ROOM_VERSION],
|
||||
) -> JsonDict:
|
||||
"""Adds hashes and signatures to the given event dict
|
||||
|
||||
Returns:
|
||||
The modified event dict, for convenience
|
||||
"""
|
||||
add_hashes_and_signatures(
|
||||
room_version,
|
||||
event_dict,
|
||||
signature_name=self.OTHER_SERVER_NAME,
|
||||
signing_key=self.OTHER_SERVER_SIGNATURE_KEY,
|
||||
)
|
||||
return event_dict
|
||||
|
||||
|
||||
def _auth_header_for_request(
|
||||
origin: str,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue