diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2015-08-19 16:36:22 +0200 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2015-08-19 16:36:37 +0200 |
commit | 97bfd1d856b26216fffbf84b9e75e49b41fc6fb2 (patch) | |
tree | abd25dca9edfcf808cf19e522dc3c60cb5cd44a8 | |
parent | c9fa8491ccc015ddff09ce15a5d718d6b58b515c (diff) | |
download | mitmproxy-97bfd1d856b26216fffbf84b9e75e49b41fc6fb2.tar.gz mitmproxy-97bfd1d856b26216fffbf84b9e75e49b41fc6fb2.tar.bz2 mitmproxy-97bfd1d856b26216fffbf84b9e75e49b41fc6fb2.zip |
move send method to lower layers
-rw-r--r-- | libmproxy/protocol2/http.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/libmproxy/protocol2/http.py b/libmproxy/protocol2/http.py index e73bbb61..b8b1e8a5 100644 --- a/libmproxy/protocol2/http.py +++ b/libmproxy/protocol2/http.py @@ -28,6 +28,12 @@ class Http1Layer(Layer): self.client_protocol = HTTP1Protocol(self.client_conn) self.server_protocol = HTTP1Protocol(self.server_conn) + def send_to_client(self, message): + self.client_conn.send(self.client_protocol.assemble(message)) + + def send_to_server(self, message): + self.server_conn.send(self.server_protocol.assemble(message)) + def connect(self): self.ctx.connect() self.server_protocol = HTTP1Protocol(self.server_conn) @@ -51,6 +57,14 @@ class Http2Layer(Layer): self.client_protocol = HTTP2Protocol(self.client_conn, is_server=True) self.server_protocol = HTTP2Protocol(self.server_conn, is_server=False) + def send_to_client(self, message): + # TODO: implement flow control and WINDOW_UPDATE frames + self.client_conn.send(self.client_protocol.assemble(message)) + + def send_to_server(self, message): + # TODO: implement flow control and WINDOW_UPDATE frames + self.server_conn.send(self.server_protocol.assemble(message)) + def connect(self): self.ctx.connect() self.server_protocol = HTTP2Protocol(self.server_conn) @@ -166,6 +180,7 @@ class UpstreamConnectLayer(Layer): else: self.ctx.set_server(address, server_tls, sni, depth-1) + class HttpLayer(Layer): def __init__(self, ctx, mode): super(HttpLayer, self).__init__(ctx) @@ -461,9 +476,3 @@ class HttpLayer(Layer): odict.ODictCaseless([[k,v] for k, v in self.config.authenticator.auth_challenge_headers().items()]) )) raise InvalidCredentials("Proxy Authentication Required") - - def send_to_server(self, message): - self.server_conn.send(self.server_protocol.assemble(message)) - - def send_to_client(self, message): - self.client_conn.send(self.client_protocol.assemble(message)) |