aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/strutils.py
diff options
context:
space:
mode:
authorClemens <cle1000.cb@gmail.com>2016-08-09 19:49:36 +0200
committerClemens <cle1000.cb@gmail.com>2016-08-09 19:49:36 +0200
commitb27e456ce2150d638b4eef73703da8a30722d392 (patch)
tree2ba82b15f1bdf22f12b7d97e726dcbd19374e9cf /netlib/strutils.py
parent78bd99f97c36ba24bbab389350eb8e80ba16738f (diff)
parentdcfa7027aed5a8d4aa80aff67fc299298659fb1b (diff)
downloadmitmproxy-b27e456ce2150d638b4eef73703da8a30722d392.tar.gz
mitmproxy-b27e456ce2150d638b4eef73703da8a30722d392.tar.bz2
mitmproxy-b27e456ce2150d638b4eef73703da8a30722d392.zip
merge with master
Diffstat (limited to 'netlib/strutils.py')
-rw-r--r--netlib/strutils.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/netlib/strutils.py b/netlib/strutils.py
index 8f27ebb7..4a46b6b1 100644
--- a/netlib/strutils.py
+++ b/netlib/strutils.py
@@ -69,7 +69,7 @@ def escape_control_characters(text, keep_spacing=True):
return text.translate(trans)
-def bytes_to_escaped_str(data, keep_spacing=False):
+def bytes_to_escaped_str(data, keep_spacing=False, escape_single_quotes=False):
"""
Take bytes and return a safe string that can be displayed to the user.
@@ -86,6 +86,8 @@ def bytes_to_escaped_str(data, keep_spacing=False):
# We always insert a double-quote here so that we get a single-quoted string back
# https://stackoverflow.com/questions/29019340/why-does-python-use-different-quotes-for-representing-strings-depending-on-their
ret = repr(b'"' + data).lstrip("b")[2:-1]
+ if not escape_single_quotes:
+ ret = re.sub(r"(?<!\\)(\\\\)*\\'", lambda m: (m.group(1) or "") + "'", ret)
if keep_spacing:
ret = re.sub(
r"(?<!\\)(\\\\)*\\([nrt])",