diff options
Diffstat (limited to 'service/pixelated/resources/logout_resource.py')
-rw-r--r-- | service/pixelated/resources/logout_resource.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/service/pixelated/resources/logout_resource.py b/service/pixelated/resources/logout_resource.py index 01092b05..e26ec4b2 100644 --- a/service/pixelated/resources/logout_resource.py +++ b/service/pixelated/resources/logout_resource.py @@ -1,11 +1,15 @@ -from twisted.web.server import NOT_DONE_YET +import logging -from pixelated.resources import BaseResource -from twisted.web import util from twisted.internet import defer +from twisted.web import util +from twisted.web.http import INTERNAL_SERVER_ERROR +from twisted.web.server import NOT_DONE_YET +from pixelated.resources import BaseResource from pixelated.resources.login_resource import LoginResource +log = logging.getLogger(__name__) + class LogoutResource(BaseResource): BASE_URL = "logout" @@ -23,7 +27,14 @@ class LogoutResource(BaseResource): request.write(content) request.finish() + def handle_error(e): + log.error(e) + request.setResponseCode(INTERNAL_SERVER_ERROR) + request.write('Something went wrong!') + request.finish() + d = self._execute_logout(request) d.addCallback(_redirect_to_login) + d.addErrback(handle_error) return NOT_DONE_YET |