aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/models/http.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/models/http.py')
-rw-r--r--libmproxy/models/http.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/libmproxy/models/http.py b/libmproxy/models/http.py
index c0a2c55a..5a83cb46 100644
--- a/libmproxy/models/http.py
+++ b/libmproxy/models/http.py
@@ -8,6 +8,7 @@ from libmproxy import utils
from netlib import encoding
from netlib.http import status_codes, Headers, Request, Response, CONTENT_MISSING
from netlib.tcp import Address
+from netlib.utils import native
from .. import version, stateobject
from .flow import Flow
@@ -497,6 +498,8 @@ class decoded(object):
def __init__(self, o):
self.o = o
ce = o.headers.get("content-encoding")
+ if ce:
+ ce = native(ce, "ascii", "ignore")
if ce in encoding.ENCODINGS:
self.ce = ce
else:
@@ -504,7 +507,8 @@ class decoded(object):
def __enter__(self):
if self.ce:
- self.o.decode()
+ if not self.o.decode():
+ self.ce = None
def __exit__(self, type, value, tb):
if self.ce: