diff options
author | Amber Brown <hawkowl@atleastfornow.net> | 2019-08-13 21:49:28 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-13 21:49:28 +1000 |
commit | 0b6fbb28a858f56766c77eedede7d1dade9e9b1c (patch) | |
tree | 57915f5d49e201849c2656d05ec00b7a0f58e9a8 /synapse/rest/admin/_base.py | |
parent | Merge pull request #5836 from matrix-org/erikj/lower_bound_ttl_well_known (diff) | |
download | synapse-0b6fbb28a858f56766c77eedede7d1dade9e9b1c.tar.xz |
Don't load the media repo when configured to use an external media repo (#5754)
Diffstat (limited to 'synapse/rest/admin/_base.py')
-rw-r--r-- | synapse/rest/admin/_base.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/synapse/rest/admin/_base.py b/synapse/rest/admin/_base.py index 881d67b89c..5a9b08d3ef 100644 --- a/synapse/rest/admin/_base.py +++ b/synapse/rest/admin/_base.py @@ -12,11 +12,36 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + +import re + from twisted.internet import defer from synapse.api.errors import AuthError +def historical_admin_path_patterns(path_regex): + """Returns the list of patterns for an admin endpoint, including historical ones + + This is a backwards-compatibility hack. Previously, the Admin API was exposed at + various paths under /_matrix/client. This function returns a list of patterns + matching those paths (as well as the new one), so that existing scripts which rely + on the endpoints being available there are not broken. + + Note that this should only be used for existing endpoints: new ones should just + register for the /_synapse/admin path. + """ + return list( + re.compile(prefix + path_regex) + for prefix in ( + "^/_synapse/admin/v1", + "^/_matrix/client/api/v1/admin", + "^/_matrix/client/unstable/admin", + "^/_matrix/client/r0/admin", + ) + ) + + @defer.inlineCallbacks def assert_requester_is_admin(auth, request): """Verify that the requester is an admin user |