aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-10-12 10:57:40 +1300
committerAldo Cortesi <aldo@nullcube.com>2016-10-16 20:26:06 +1300
commitc8f2f1019dbd0e07ad6178b68bd32d88fb32a0cb (patch)
treed7f19fd154ef0fccb0ec5d083a7d82b980850151
parentfdb6a44245249a50b5c95cdf0d8d13ecddfe5726 (diff)
downloadmitmproxy-c8f2f1019dbd0e07ad6178b68bd32d88fb32a0cb.tar.gz
mitmproxy-c8f2f1019dbd0e07ad6178b68bd32d88fb32a0cb.tar.bz2
mitmproxy-c8f2f1019dbd0e07ad6178b68bd32d88fb32a0cb.zip
Clean up models.http a bit
- We don't need a deprecation warning here - Bring imports inline with policy
-rw-r--r--mitmproxy/models/http.py48
1 files changed, 17 insertions, 31 deletions
diff --git a/mitmproxy/models/http.py b/mitmproxy/models/http.py
index d56eb29a..8c5524e2 100644
--- a/mitmproxy/models/http.py
+++ b/mitmproxy/models/http.py
@@ -1,30 +1,14 @@
from __future__ import absolute_import, print_function, division
import cgi
-import warnings
-from mitmproxy.models.flow import Flow
+from mitmproxy.models import flow
+from netlib import http
from netlib import version
-from netlib.http import Headers
-from netlib.http import Request
-from netlib.http import Response
-from netlib.http import status_codes
-from netlib.tcp import Address
+from netlib import tcp
-class MessageMixin(object):
-
- def get_decoded_content(self):
- """
- Returns the decoded content based on the current Content-Encoding
- header.
- Doesn't change the message iteself or its headers.
- """
- warnings.warn(".get_decoded_content() is deprecated, please use .content directly instead.", DeprecationWarning)
- return self.content
-
-
-class HTTPRequest(MessageMixin, Request):
+class HTTPRequest(http.Request):
"""
A mitmproxy HTTP request.
@@ -49,7 +33,7 @@ class HTTPRequest(MessageMixin, Request):
stickycookie=False,
stickyauth=False,
):
- Request.__init__(
+ http.Request.__init__(
self,
first_line_format,
method,
@@ -110,7 +94,7 @@ class HTTPRequest(MessageMixin, Request):
return id(self)
-class HTTPResponse(MessageMixin, Response):
+class HTTPResponse(http.Response):
"""
A mitmproxy HTTP response.
@@ -129,7 +113,7 @@ class HTTPResponse(MessageMixin, Response):
timestamp_end=None,
is_replay=False
):
- Response.__init__(
+ http.Response.__init__(
self,
http_version,
status_code,
@@ -161,7 +145,7 @@ class HTTPResponse(MessageMixin, Response):
return resp
-class HTTPFlow(Flow):
+class HTTPFlow(flow.Flow):
"""
A HTTPFlow is a collection of objects representing a single HTTP
@@ -188,7 +172,7 @@ class HTTPFlow(Flow):
self.response = None
"""@type: HTTPResponse"""
- _stateobject_attributes = Flow._stateobject_attributes.copy()
+ _stateobject_attributes = flow.Flow._stateobject_attributes.copy()
_stateobject_attributes.update(
request=HTTPRequest,
response=HTTPResponse
@@ -225,7 +209,7 @@ class HTTPFlow(Flow):
def make_error_response(status_code, message, headers=None):
- response = status_codes.RESPONSES.get(status_code, "Unknown")
+ response = http.status_codes.RESPONSES.get(status_code, "Unknown")
body = """
<html>
<head>
@@ -237,7 +221,7 @@ def make_error_response(status_code, message, headers=None):
body = body.encode("utf8", "replace")
if not headers:
- headers = Headers(
+ headers = http.Headers(
Server=version.MITMPROXY,
Connection="close",
Content_Length=str(len(body)),
@@ -254,10 +238,10 @@ def make_error_response(status_code, message, headers=None):
def make_connect_request(address):
- address = Address.wrap(address)
+ address = tcp.Address.wrap(address)
return HTTPRequest(
"authority", b"CONNECT", None, address.host, address.port, None, b"HTTP/1.1",
- Headers(), b""
+ http.Headers(), b""
)
@@ -268,8 +252,10 @@ def make_connect_response(http_version):
http_version,
200,
b"Connection established",
- Headers(),
+ http.Headers(),
b"",
)
-expect_continue_response = HTTPResponse(b"HTTP/1.1", 100, b"Continue", Headers(), b"")
+expect_continue_response = HTTPResponse(
+ b"HTTP/1.1", 100, b"Continue", http.Headers(), b""
+)