| Index: net/tools/testserver/testserver.py
|
| diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py
|
| index 55aa6a9a1e1a297f51108079e00af6c22ccac62c..8888b6231d6aa11b07e60192febda780c29048a4 100755
|
| --- a/net/tools/testserver/testserver.py
|
| +++ b/net/tools/testserver/testserver.py
|
| @@ -576,20 +576,26 @@ class TestPageHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
| def _ReplaceFileData(self, data, query_parameters):
|
| """Replaces matching substrings in a file.
|
|
|
| - If the 'replace_orig' and 'replace_new' URL query parameters are present,
|
| - a new string is returned with all occasions of the 'replace_orig' value
|
| - replaced by the 'replace_new' value.
|
| + If the 'replace_text' URL query parameter is present, it is expected to be
|
| + of the form old_text:new_text, which indicates that any old_text strings in
|
| + the file are replaced with new_text. Multiple 'replace_text' parameters may
|
| + be specified.
|
|
|
| If the parameters are not present, |data| is returned.
|
| """
|
| query_dict = cgi.parse_qs(query_parameters)
|
| - orig_values = query_dict.get('replace_orig', [])
|
| - new_values = query_dict.get('replace_new', [])
|
| - if not orig_values or not new_values:
|
| - return data
|
| - orig_value = orig_values[0]
|
| - new_value = new_values[0]
|
| - return data.replace(orig_value, new_value)
|
| + replace_text_values = query_dict.get('replace_text', [])
|
| + for replace_text_value in replace_text_values:
|
| + replace_text_args = replace_text_value.split(':')
|
| + if len(replace_text_args) != 2:
|
| + raise ValueError(
|
| + 'replace_text must be of form old_text:new_text. Actual value: %s' %
|
| + replace_text_value)
|
| + old_text_b64, new_text_b64 = replace_text_args
|
| + old_text = base64.urlsafe_b64decode(old_text_b64)
|
| + new_text = base64.urlsafe_b64decode(new_text_b64)
|
| + data = data.replace(old_text, new_text)
|
| + return data
|
|
|
| def FileHandler(self):
|
| """This handler sends the contents of the requested file. Wow, it's like
|
|
|