diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/rest/configuration.py | 2 | ||||
| -rw-r--r-- | src/mailman/rest/configure.zcml | 6 | ||||
| -rw-r--r-- | src/mailman/rest/initialize.py | 3 | ||||
| -rw-r--r-- | src/mailman/rest/publication.py | 5 | ||||
| -rw-r--r-- | src/mailman/rest/traverse.py | 2 |
5 files changed, 14 insertions, 4 deletions
diff --git a/src/mailman/rest/configuration.py b/src/mailman/rest/configuration.py index 36a7449a1..9716f8503 100644 --- a/src/mailman/rest/configuration.py +++ b/src/mailman/rest/configuration.py @@ -66,7 +66,7 @@ class AdminWebServiceConfiguration: """See `IWebServiceConfiguration`.""" request = AdminWebServiceRequest(body_instream, environ) request.setPublication( - AdminWebServicePublication(AdminWebServiceRootResource()) + AdminWebServicePublication(AdminWebServiceRootResource())) return request def get_request_user(self): diff --git a/src/mailman/rest/configure.zcml b/src/mailman/rest/configure.zcml index 236365a5c..24712b340 100644 --- a/src/mailman/rest/configure.zcml +++ b/src/mailman/rest/configure.zcml @@ -3,9 +3,13 @@ xmlns="http://namespaces.zope.org/zope" xmlns:webservice="http://namespaces.canonical.com/webservice"> + <include package="zope.component" file="meta.zcml"/> + <include package="zope.security" file="meta.zcml"/> + <include package="lazr.restful" file="meta.zcml"/> + <webservice:register module="mailman.interfaces.rest" /> - <adapter factory="mailman.rest.traversal.Traverse" /> + <adapter factory="mailman.rest.traverse.Traverse" /> <adapter factory="mailman.rest.root.AdminWebServiceRootAbsoluteURL" /> diff --git a/src/mailman/rest/initialize.py b/src/mailman/rest/initialize.py index daa0af430..ec563f17e 100644 --- a/src/mailman/rest/initialize.py +++ b/src/mailman/rest/initialize.py @@ -31,4 +31,5 @@ from zope.configuration import xmlconfig def initialize(): """Initialize the admin web service and the Zope Component Architecture.""" - xmlconfig.file('mailman', 'mailman.rest') + import mailman.rest + xmlconfig.file('configure.zcml', mailman.rest) diff --git a/src/mailman/rest/publication.py b/src/mailman/rest/publication.py index 54fedab76..b1f960b62 100644 --- a/src/mailman/rest/publication.py +++ b/src/mailman/rest/publication.py @@ -24,6 +24,9 @@ __all__ = [ ] +from lazr.restful.publisher import WebServicePublicationMixin + + -class WebServiceTestPublication(WebServicePublicationMixin, TestPublication): +class AdminWebServiceTestPublication(WebServicePublicationMixin, TestPublication): """Test publication that mixes in the necessary web service stuff.""" diff --git a/src/mailman/rest/traverse.py b/src/mailman/rest/traverse.py index df0dc288c..34d747c32 100644 --- a/src/mailman/rest/traverse.py +++ b/src/mailman/rest/traverse.py @@ -32,6 +32,8 @@ from zope.interface import implements from zope.publisher.interfaces import IPublishTraverse, NotFound from zope.publisher.interfaces.browser import IDefaultBrowserLayer +from mailman.interfaces.rest import IHasGet + class Traverse: |
