aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/http
diff options
context:
space:
mode:
Diffstat (limited to 'netlib/http')
-rw-r--r--netlib/http/http1/protocol.py2
-rw-r--r--netlib/http/semantics.py24
2 files changed, 20 insertions, 6 deletions
diff --git a/netlib/http/http1/protocol.py b/netlib/http/http1/protocol.py
index 8d631a13..257efb19 100644
--- a/netlib/http/http1/protocol.py
+++ b/netlib/http/http1/protocol.py
@@ -380,7 +380,7 @@ class HTTP1Protocol(object):
"Bad HTTP request line: %s" % repr(request_line)
)
host, port, _ = r
- path = None
+ return http.ConnectRequest(host, port)
else:
form_in = "absolute"
r = self.parse_init_proxy(request_line)
diff --git a/netlib/http/semantics.py b/netlib/http/semantics.py
index 9a010318..664f9def 100644
--- a/netlib/http/semantics.py
+++ b/netlib/http/semantics.py
@@ -19,7 +19,7 @@ class Request(object):
path,
httpversion,
headers,
- content,
+ body,
):
self.form_in = form_in
self.method = method
@@ -29,7 +29,7 @@ class Request(object):
self.path = path
self.httpversion = httpversion
self.headers = headers
- self.content = content
+ self.body = body
def __eq__(self, other):
return self.__dict__ == other.__dict__
@@ -38,6 +38,21 @@ class Request(object):
return "Request(%s - %s, %s)" % (self.method, self.host, self.path)
+class ConnectRequest(Request):
+ def __init__(self, host, port):
+ super(ConnectRequest, self).__init__(
+ form_in="authority",
+ method="CONNECT",
+ scheme="",
+ host=host,
+ port=port,
+ path="",
+ httpversion="",
+ headers="",
+ body="",
+ )
+
+
class Response(object):
def __init__(
@@ -46,14 +61,14 @@ class Response(object):
status_code,
msg,
headers,
- content,
+ body,
sslinfo=None,
):
self.httpversion = httpversion
self.status_code = status_code
self.msg = msg
self.headers = headers
- self.content = content
+ self.body = body
self.sslinfo = sslinfo
def __eq__(self, other):
@@ -63,7 +78,6 @@ class Response(object):
return "Response(%s - %s)" % (self.status_code, self.msg)
-
def is_valid_port(port):
if not 0 <= port <= 65535:
return False