summary refs log tree commit diff
path: root/synapse/rest/client/v1/base.py
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-12-01 19:15:27 +0000
committerMark Haines <mark.haines@matrix.org>2015-12-01 19:15:27 +0000
commitf73ea0bda26a51794abedb65cbf4d0a717dee26c (patch)
tree64fd41675594a7c71a7f119fb68b5b476f9173fd /synapse/rest/client/v1/base.py
parentOnly fire user_joined_room on the distributor if the user has actually joined... (diff)
parentMerge pull request #392 from matrix-org/markjh/client_config (diff)
downloadsynapse-f73ea0bda26a51794abedb65cbf4d0a717dee26c.tar.xz
Merge branch 'develop' into markjh/edu_frequency
Diffstat (limited to 'synapse/rest/client/v1/base.py')
-rw-r--r--synapse/rest/client/v1/base.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/synapse/rest/client/v1/base.py b/synapse/rest/client/v1/base.py
index 504a5e432f..7ae3839a19 100644
--- a/synapse/rest/client/v1/base.py
+++ b/synapse/rest/client/v1/base.py
@@ -27,7 +27,7 @@ import logging
 logger = logging.getLogger(__name__)
 
 
-def client_path_pattern(path_regex):
+def client_path_patterns(path_regex, releases=(0,)):
     """Creates a regex compiled client path with the correct client path
     prefix.
 
@@ -37,7 +37,13 @@ def client_path_pattern(path_regex):
     Returns:
         SRE_Pattern
     """
-    return re.compile("^" + CLIENT_PREFIX + path_regex)
+    patterns = [re.compile("^" + CLIENT_PREFIX + path_regex)]
+    unstable_prefix = CLIENT_PREFIX.replace("/api/v1", "/unstable")
+    patterns.append(re.compile("^" + unstable_prefix + path_regex))
+    for release in releases:
+        new_prefix = CLIENT_PREFIX.replace("/api/v1", "/r%d" % release)
+        patterns.append(re.compile("^" + new_prefix + path_regex))
+    return patterns
 
 
 class ClientV1RestServlet(RestServlet):