diff options
author | drebs <drebs@leap.se> | 2016-12-19 09:43:03 -0200 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2017-02-09 17:41:37 +0100 |
commit | 6043f7966b64d6922987bca9137a524fb06a3379 (patch) | |
tree | 70f5416685405c084fbc5e4451565c460cb2203e /server/src/leap/soledad/server/session.py | |
parent | 994eaa79b274c3c37af42cb343c41b5dec6e8d19 (diff) |
[refactor] separate url mapper, avoid hanging tests
Because the wsgi resource has its own threadpool, tests might get
confused when shutting down and the reactor may get clogged waiting for
the threadpool to be stopped. By refactoring the URLMapper to its own
module, server tests can avoid loading the resource module, where the
wsgi threadpool resides, so the threapool will not be started.
Diffstat (limited to 'server/src/leap/soledad/server/session.py')
-rw-r--r-- | server/src/leap/soledad/server/session.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/server/src/leap/soledad/server/session.py b/server/src/leap/soledad/server/session.py index 75440089..1ef5b6a6 100644 --- a/server/src/leap/soledad/server/session.py +++ b/server/src/leap/soledad/server/session.py @@ -30,10 +30,9 @@ from twisted.web.server import Session from zope.interface import Interface from zope.interface import Attribute -from leap.soledad.server.auth import URLMapper from leap.soledad.server.auth import portal from leap.soledad.server.auth import credentialFactory -from leap.soledad.server.auth import UnauthorizedResource +from leap.soledad.server.urlmapper import URLMapper from leap.soledad.server.resource import SoledadResource @@ -59,6 +58,20 @@ def _sessionData(request): @implementer(IResource) +class UnauthorizedResource(object): + isLeaf = True + + def render(self, request): + request.setResponseCode(401) + if request.method == b'HEAD': + return b'' + return b'Unauthorized' + + def getChildWithDefault(self, path, request): + return self + + +@implementer(IResource) class SoledadSession(HTTPAuthSessionWrapper): def __init__(self): |