summaryrefslogtreecommitdiff
path: root/src/mailman/rest/root.py
diff options
context:
space:
mode:
authorBarry Warsaw2014-08-12 19:00:44 -0400
committerBarry Warsaw2014-08-12 19:00:44 -0400
commit61ad6fde0a9cff213a347838f19878a7b52f5466 (patch)
treedaa43402eed6d9adf8e40c4d077249c46129d962 /src/mailman/rest/root.py
parent826261effa9d74b8ecdf1247e9ebba75fa3b2baa (diff)
downloadmailman-61ad6fde0a9cff213a347838f19878a7b52f5466.tar.gz
mailman-61ad6fde0a9cff213a347838f19878a7b52f5466.tar.zst
mailman-61ad6fde0a9cff213a347838f19878a7b52f5466.zip
Diffstat (limited to 'src/mailman/rest/root.py')
-rw-r--r--src/mailman/rest/root.py27
1 files changed, 5 insertions, 22 deletions
diff --git a/src/mailman/rest/root.py b/src/mailman/rest/root.py
index 6b13d8246..9e9f5bfa5 100644
--- a/src/mailman/rest/root.py
+++ b/src/mailman/rest/root.py
@@ -38,7 +38,7 @@ from mailman.interfaces.listmanager import IListManager
from mailman.interfaces.styles import IStyleManager
from mailman.rest.addresses import AllAddresses, AnAddress
from mailman.rest.domains import ADomain, AllDomains
-from mailman.rest.helpers import etag, path_to
+from mailman.rest.helpers import BadRequest, NotFound, child, etag, path_to
from mailman.rest.lists import AList, AllLists
from mailman.rest.members import AMember, AllMembers, FindMembers
from mailman.rest.preferences import ReadOnlyPreferences
@@ -46,23 +46,6 @@ from mailman.rest.templates import TemplateFinder
from mailman.rest.users import AUser, AllUsers
-def child(matcher=None):
- def decorator(func):
- if matcher is None:
- func.__matcher__ = func.__name__
- else:
- func.__matcher__ = matcher
- return func
- return decorator
-
-
-class BadRequest:
- def on_get(self, request, response):
- raise falcon.HTTPError(falcon.HTTP_400, None)
-
-STOP = []
-
-
class Root:
"""The RESTful root resource.
@@ -117,13 +100,13 @@ class TopLevel:
def system(self, request, segments):
"""/<api>/system"""
if len(segments) == 0:
- return System(), STOP
+ return System()
elif len(segments) > 1:
- return BadRequest(), STOP
+ return BadRequest(), []
elif segments[0] == 'preferences':
- return ReadOnlyPreferences(system_preferences, 'system'), STOP
+ return ReadOnlyPreferences(system_preferences, 'system'), []
else:
- return BadRequest(), STOP
+ return NotFound(), []
@child()
def addresses(self, request, segments):