diff options
Diffstat (limited to 'lib/ansible/utils/unsafe_proxy.py')
-rw-r--r-- | lib/ansible/utils/unsafe_proxy.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/ansible/utils/unsafe_proxy.py b/lib/ansible/utils/unsafe_proxy.py index 59c805d53e..3c74ea8369 100644 --- a/lib/ansible/utils/unsafe_proxy.py +++ b/lib/ansible/utils/unsafe_proxy.py @@ -66,11 +66,15 @@ class AnsibleUnsafe(object): class AnsibleUnsafeBytes(binary_type, AnsibleUnsafe): - pass + def decode(self, *args, **kwargs): + """Wrapper method to ensure type conversions maintain unsafe context""" + return AnsibleUnsafeText(super(AnsibleUnsafeBytes, self).decode(*args, **kwargs)) class AnsibleUnsafeText(text_type, AnsibleUnsafe): - pass + def encode(self, *args, **kwargs): + """Wrapper method to ensure type conversions maintain unsafe context""" + return AnsibleUnsafeBytes(super(AnsibleUnsafeText, self).encode(*args, **kwargs)) class UnsafeProxy(object): |