Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(540)

Unified Diff: net/tools/testserver/testserver.py

Issue 5814005: Minimize login prompts (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Simplify cleanup of LoginPromptBrowserTestObserver Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/tools/testserver/testserver.py
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py
index 0cd663d8434551dc1f4b442edf67c8bbd222059e..fbbd1d32bf7ffaa9efee8b56c8bc34b9001705a7 100755
--- a/net/tools/testserver/testserver.py
+++ b/net/tools/testserver/testserver.py
@@ -911,8 +911,18 @@ class TestPageHandler(BasePageHandler):
return False
username = userpass = password = b64str = ""
+ expected_password = 'secret'
+ realm = 'testrealm'
+ set_cookie_if_challenged = False
- set_cookie_if_challenged = self.path.find('?set-cookie-if-challenged') > 0
+ _, _, url_path, _, query, _ = urlparse.urlparse(self.path)
+ for (name, value) in urlparse.parse_qsl(query, True):
cbentzel 2010/12/17 22:02:55 Use cgi.parse_qs instead of urlparse.parse_qs [and
asanka (google) 2010/12/20 17:44:08 parse_qsl() returns the query parameters as a list
+ if name == 'set-cookie-if-challenged':
+ set_cookie_if_challenged = True
+ elif name == 'password':
+ expected_password = value
+ elif name == 'realm':
+ realm = value
auth = self.headers.getheader('authorization')
try:
@@ -921,12 +931,12 @@ class TestPageHandler(BasePageHandler):
b64str = re.findall(r'Basic (\S+)', auth)[0]
userpass = base64.b64decode(b64str)
username, password = re.findall(r'([^:]+):(\S+)', userpass)[0]
- if password != 'secret':
+ if password != expected_password:
raise Exception('wrong password')
except Exception, e:
# Authentication failed.
self.send_response(401)
- self.send_header('WWW-Authenticate', 'Basic realm="testrealm"')
+ self.send_header('WWW-Authenticate', 'Basic realm="%s"' % realm)
self.send_header('Content-type', 'text/html')
if set_cookie_if_challenged:
self.send_header('Set-Cookie', 'got_challenged=true')

Powered by Google App Engine
This is Rietveld 408576698