diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py index d3fd4b37c..d72adc374 100644 --- a/libmproxy/protocol/http.py +++ b/libmproxy/protocol/http.py @@ -53,7 +53,7 @@ class _StreamingHttpLayer(_HttpLayer): def read_response(self, request): response = self.read_response_headers() - response.content = b"".join( + response.data.content = b"".join( self.read_response_body(request, response) ) return response @@ -469,9 +469,9 @@ class HttpLayer(Layer): if self.supports_streaming: if flow.response.stream: - flow.response.content = CONTENT_MISSING + flow.response.data.content = CONTENT_MISSING else: - flow.response.content = b"".join(self.read_response_body( + flow.response.data.content = b"".join(self.read_response_body( flow.request, flow.response )) diff --git a/test/test_protocol_http.py b/test/test_protocol_http.py index 8c843d731..1f0386b4e 100644 --- a/test/test_protocol_http.py +++ b/test/test_protocol_http.py @@ -1,7 +1,6 @@ import socket from io import BytesIO from netlib.exceptions import HttpSyntaxException - from netlib.http import http1 from netlib.tcp import TCPClient from netlib.tutils import treq, raises @@ -82,3 +81,10 @@ class TestExpectHeader(tservers.HTTPProxTest): assert resp.status_code == 200 client.finish() + + +class TestHeadContentLength(tservers.HTTPProxTest): + def test_head_content_length(self): + p = self.pathoc() + resp = p.request("""head:'%s/p/200:h"Content-Length"="42"'""" % self.server.urlbase) + assert resp.headers["Content-Length"] == "42" \ No newline at end of file