[PATCH 1 of 1 RFC] login: add login-required Pragma to HTTP headers
Thomas De Schampheleire
patrickdepinguin at gmail.com
Thu Mar 19 16:34:01 EDT 2015
# HG changeset patch
# User Thomas De Schampheleire <thomas.de.schampheleire at gmail.com>
# Date 1426796699 -3600
# Thu Mar 19 21:24:59 2015 +0100
# Node ID a9f2e162a9ecad5d13ee44848a73b64cc3de3285
# Parent cf8eab44c6ec583f7a0642b7274d2222a30d15e3
login: add login-required Pragma to HTTP headers
To make it easier for automated scripts to detect a login failure, add a
Pragma 'login-required' in the HTTP headers.
As existing pragmas, like no-cache, may be present, extend the original one
instead of overwriting.
diff --git a/kallithea/controllers/login.py b/kallithea/controllers/login.py
--- a/kallithea/controllers/login.py
+++ b/kallithea/controllers/login.py
@@ -35,7 +35,7 @@
from webob.exc import HTTPFound
from pylons.i18n.translation import _
from pylons.controllers.util import redirect
-from pylons import request, session, tmpl_context as c, url
+from pylons import request, response, session, tmpl_context as c, url
import kallithea.lib.helpers as h
from kallithea.lib.auth import AuthUser, HasPermissionAnyDecorator
@@ -157,6 +157,13 @@
if auth_info:
headers = self._store_user_in_session(auth_info.get('username'))
raise HTTPFound(location=c.came_from, headers=headers)
+
+ if 'Pragma' in response.headers:
+ current_pragma = '%s,' % response.headers['Pragma']
+ else:
+ current_pragma = ''
+ response.headers['Pragma'] = '%slogin-required' % current_pragma
+
return render('/login.html')
@HasPermissionAnyDecorator('hg.admin', 'hg.register.auto_activate',
More information about the kallithea-general
mailing list