Chromium Code Reviews| 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') |