diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2015-07-08 09:20:25 +0200 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2015-07-22 15:30:50 +0200 |
commit | 6dcfc35011208f4bfde7f37a63d7b980f6c41ce0 (patch) | |
tree | 6478a1b7bf2445419855f0f00415130e87dab7d9 /netlib | |
parent | e316a9cdb44444667e26938f8c1c3969e56c2f0e (diff) | |
download | mitmproxy-6dcfc35011208f4bfde7f37a63d7b980f6c41ce0.tar.gz mitmproxy-6dcfc35011208f4bfde7f37a63d7b980f6c41ce0.tar.bz2 mitmproxy-6dcfc35011208f4bfde7f37a63d7b980f6c41ce0.zip |
introduce http_semantics module
used for generic HTTP representation
everything should apply for HTTP/1 and HTTP/2
Diffstat (limited to 'netlib')
-rw-r--r-- | netlib/http.py | 16 | ||||
-rw-r--r-- | netlib/http_semantics.py | 23 |
2 files changed, 25 insertions, 14 deletions
diff --git a/netlib/http.py b/netlib/http.py index a2af9e49..073e9a3f 100644 --- a/netlib/http.py +++ b/netlib/http.py @@ -4,7 +4,7 @@ import string import urlparse import binascii import sys -from . import odict, utils, tcp, http_status +from . import odict, utils, tcp, http_semantics, http_status class HttpError(Exception): @@ -527,18 +527,6 @@ def read_request(rfile, include_body=True, body_size_limit=None, wfile=None): ) -Response = collections.namedtuple( - "Response", - [ - "httpversion", - "code", - "msg", - "headers", - "content" - ] -) - - def read_response(rfile, request_method, body_size_limit, include_body=True): """ Return an (httpversion, code, msg, headers, content) tuple. @@ -580,7 +568,7 @@ def read_response(rfile, request_method, body_size_limit, include_body=True): # if include_body==False then a None content means the body should be # read separately content = None - return Response(httpversion, code, msg, headers, content) + return http_semantics.Response(httpversion, code, msg, headers, content) def request_preamble(method, resource, http_major="1", http_minor="1"): diff --git a/netlib/http_semantics.py b/netlib/http_semantics.py new file mode 100644 index 00000000..e8313e3c --- /dev/null +++ b/netlib/http_semantics.py @@ -0,0 +1,23 @@ +class Response(object): + + def __init__( + self, + httpversion, + status_code, + msg, + headers, + content, + sslinfo=None, + ): + self.httpversion = httpversion + self.status_code = status_code + self.msg = msg + self.headers = headers + self.content = content + self.sslinfo = sslinfo + + def __eq__(self, other): + return self.__dict__ == other.__dict__ + + def __repr__(self): + return "Response(%s - %s)" % (self.status_code, self.msg) |