diff options
| author | Victor Shyba <victor1984@riseup.net> | 2017-05-18 03:28:32 -0300 | 
|---|---|---|
| committer | Victor Shyba <victor1984@riseup.net> | 2017-07-02 01:32:39 -0300 | 
| commit | 154cfabeca53258e547adfb5ce815a59f8eff59c (patch) | |
| tree | 90e352ae785ea5b2d8566408cbb7a6f45ef033b7 | |
| parent | 0dbdb7e6a2ce73a28d5965d41db03cd02bf4abf3 (diff) | |
[feature] direct /incoming requests to IncomingResource
Adds the routing code for exposing /incoming from SoledadResource.
- Related: #8827
| -rw-r--r-- | src/leap/soledad/server/_resource.py | 4 | ||||
| -rw-r--r-- | src/leap/soledad/server/url_mapper.py | 4 | ||||
| -rw-r--r-- | testing/tests/server/test__resource.py | 7 | 
3 files changed, 15 insertions, 0 deletions
| diff --git a/src/leap/soledad/server/_resource.py b/src/leap/soledad/server/_resource.py index 49c4b742..28344b38 100644 --- a/src/leap/soledad/server/_resource.py +++ b/src/leap/soledad/server/_resource.py @@ -20,6 +20,7 @@ A twisted resource that serves the Soledad Server.  from twisted.web.resource import Resource  from ._server_info import ServerInfo +from ._incoming import IncomingResource  from ._wsgi import get_sync_resource @@ -75,6 +76,9 @@ class SoledadResource(Resource):          if blobs_resource:              self.putChild('blobs', blobs_resource) +        # requests to /incoming goes into IncomingResource +        self.putChild('incoming', IncomingResource()) +          # other requests are routed to legacy sync resource          self._sync_resource = get_sync_resource(sync_pool) diff --git a/src/leap/soledad/server/url_mapper.py b/src/leap/soledad/server/url_mapper.py index b50a81cd..137a5469 100644 --- a/src/leap/soledad/server/url_mapper.py +++ b/src/leap/soledad/server/url_mapper.py @@ -59,6 +59,7 @@ class URLMapper(object):              /user-{uuid}/sync-from/{source} | GET, PUT, POST              /blobs/{uuid}/{blob_id}         | GET, PUT, POST              /blobs/{uuid}                   | GET +            /incoming/                      | PUT          """          # auth info for global resource          self._connect('/', ['GET']) @@ -75,3 +76,6 @@ class URLMapper(object):          # auth info for blobs resource          self._connect('/blobs/{uuid}/{blob_id}', ['GET', 'PUT'])          self._connect('/blobs/{uuid}', ['GET']) + +        # incoming resource +        self._connect('/incoming/{uuid}/{incoming_id}', ['PUT']) diff --git a/testing/tests/server/test__resource.py b/testing/tests/server/test__resource.py index 1c0510b9..249b62f9 100644 --- a/testing/tests/server/test__resource.py +++ b/testing/tests/server/test__resource.py @@ -26,6 +26,7 @@ from twisted.internet import reactor  from leap.soledad.server._resource import SoledadResource  from leap.soledad.server._server_info import ServerInfo  from leap.soledad.server._blobs import BlobsResource +from leap.soledad.server._incoming import IncomingResource  from leap.soledad.server.gzip_middleware import GzipMiddleware @@ -68,3 +69,9 @@ class SoledadResourceTestCase(unittest.TestCase):          child = getChildForRequest(resource, request)          self.assertIsInstance(child, WSGIResource)          self.assertIsInstance(child._application, GzipMiddleware) + +    def test_get_incoming(self): +        resource = SoledadResource(None, sync_pool=_pool) +        request = DummyRequest(['incoming']) +        child = getChildForRequest(resource, request) +        self.assertIsInstance(child, IncomingResource) | 
