Skip to content
Snippets Groups Projects
Unverified Commit 6861ce3f authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Merge pull request #4859 from matrix-org/revert-4793-anoa/trailing_slashes

Revert "Make federation endpoints more tolerant of trailing slashes for some endpoints"
parents 9073cfc8 271cb199
No related branches found
No related tags found
No related merge requests found
Synapse is now permissive about trailing slashes on some of its federation endpoints, allowing zero or more to be present.
\ No newline at end of file
...@@ -167,7 +167,7 @@ class TransportLayerClient(object): ...@@ -167,7 +167,7 @@ class TransportLayerClient(object):
# generated by the json_data_callback. # generated by the json_data_callback.
json_data = transaction.get_dict() json_data = transaction.get_dict()
path = _create_v1_path("/send/%s", transaction.transaction_id) path = _create_v1_path("/send/%s/", transaction.transaction_id)
response = yield self.client.put_json( response = yield self.client.put_json(
transaction.destination, transaction.destination,
......
...@@ -312,7 +312,7 @@ class BaseFederationServlet(object): ...@@ -312,7 +312,7 @@ class BaseFederationServlet(object):
class FederationSendServlet(BaseFederationServlet): class FederationSendServlet(BaseFederationServlet):
PATH = "/send/(?P<transaction_id>[^/]*)/?" PATH = "/send/(?P<transaction_id>[^/]*)/"
def __init__(self, handler, server_name, **kwargs): def __init__(self, handler, server_name, **kwargs):
super(FederationSendServlet, self).__init__( super(FederationSendServlet, self).__init__(
...@@ -378,7 +378,7 @@ class FederationSendServlet(BaseFederationServlet): ...@@ -378,7 +378,7 @@ class FederationSendServlet(BaseFederationServlet):
class FederationEventServlet(BaseFederationServlet): class FederationEventServlet(BaseFederationServlet):
PATH = "/event/(?P<event_id>[^/]*)/?" PATH = "/event/(?P<event_id>[^/]*)/"
# This is when someone asks for a data item for a given server data_id pair. # This is when someone asks for a data item for a given server data_id pair.
def on_GET(self, origin, content, query, event_id): def on_GET(self, origin, content, query, event_id):
...@@ -386,7 +386,7 @@ class FederationEventServlet(BaseFederationServlet): ...@@ -386,7 +386,7 @@ class FederationEventServlet(BaseFederationServlet):
class FederationStateServlet(BaseFederationServlet): class FederationStateServlet(BaseFederationServlet):
PATH = "/state/(?P<context>[^/]*)/?" PATH = "/state/(?P<context>[^/]*)/"
# This is when someone asks for all data for a given context. # This is when someone asks for all data for a given context.
def on_GET(self, origin, content, query, context): def on_GET(self, origin, content, query, context):
...@@ -398,7 +398,7 @@ class FederationStateServlet(BaseFederationServlet): ...@@ -398,7 +398,7 @@ class FederationStateServlet(BaseFederationServlet):
class FederationStateIdsServlet(BaseFederationServlet): class FederationStateIdsServlet(BaseFederationServlet):
PATH = "/state_ids/(?P<room_id>[^/]*)/?" PATH = "/state_ids/(?P<room_id>[^/]*)/"
def on_GET(self, origin, content, query, room_id): def on_GET(self, origin, content, query, room_id):
return self.handler.on_state_ids_request( return self.handler.on_state_ids_request(
...@@ -409,7 +409,7 @@ class FederationStateIdsServlet(BaseFederationServlet): ...@@ -409,7 +409,7 @@ class FederationStateIdsServlet(BaseFederationServlet):
class FederationBackfillServlet(BaseFederationServlet): class FederationBackfillServlet(BaseFederationServlet):
PATH = "/backfill/(?P<context>[^/]*)/?" PATH = "/backfill/(?P<context>[^/]*)/"
def on_GET(self, origin, content, query, context): def on_GET(self, origin, content, query, context):
versions = [x.decode('ascii') for x in query[b"v"]] versions = [x.decode('ascii') for x in query[b"v"]]
...@@ -1080,7 +1080,7 @@ class FederationGroupsCategoriesServlet(BaseFederationServlet): ...@@ -1080,7 +1080,7 @@ class FederationGroupsCategoriesServlet(BaseFederationServlet):
"""Get all categories for a group """Get all categories for a group
""" """
PATH = ( PATH = (
"/groups/(?P<group_id>[^/]*)/categories/?" "/groups/(?P<group_id>[^/]*)/categories/"
) )
@defer.inlineCallbacks @defer.inlineCallbacks
...@@ -1150,7 +1150,7 @@ class FederationGroupsRolesServlet(BaseFederationServlet): ...@@ -1150,7 +1150,7 @@ class FederationGroupsRolesServlet(BaseFederationServlet):
"""Get roles in a group """Get roles in a group
""" """
PATH = ( PATH = (
"/groups/(?P<group_id>[^/]*)/roles/?" "/groups/(?P<group_id>[^/]*)/roles/"
) )
@defer.inlineCallbacks @defer.inlineCallbacks
......
...@@ -180,7 +180,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase): ...@@ -180,7 +180,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase):
put_json = self.hs.get_http_client().put_json put_json = self.hs.get_http_client().put_json
put_json.assert_called_once_with( put_json.assert_called_once_with(
"farm", "farm",
path="/_matrix/federation/v1/send/1000000", path="/_matrix/federation/v1/send/1000000/",
data=_expect_edu_transaction( data=_expect_edu_transaction(
"m.typing", "m.typing",
content={ content={
...@@ -201,7 +201,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase): ...@@ -201,7 +201,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase):
(request, channel) = self.make_request( (request, channel) = self.make_request(
"PUT", "PUT",
"/_matrix/federation/v1/send/1000000", "/_matrix/federation/v1/send/1000000/",
_make_edu_transaction_json( _make_edu_transaction_json(
"m.typing", "m.typing",
content={ content={
...@@ -257,7 +257,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase): ...@@ -257,7 +257,7 @@ class TypingNotificationsTestCase(unittest.HomeserverTestCase):
put_json = self.hs.get_http_client().put_json put_json = self.hs.get_http_client().put_json
put_json.assert_called_once_with( put_json.assert_called_once_with(
"farm", "farm",
path="/_matrix/federation/v1/send/1000000", path="/_matrix/federation/v1/send/1000000/",
data=_expect_edu_transaction( data=_expect_edu_transaction(
"m.typing", "m.typing",
content={ content={
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment