diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-08-06 12:32:33 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-08-11 20:32:12 +0200 |
commit | 314e0f5839fcd4a1c35323f61938b207232de287 (patch) | |
tree | edd2a7a2d77011812b3880f8fe03d94ab98e846d /libmproxy/protocol2/reverse_proxy.py | |
parent | aac0ab23ebb0e4d88306b12efee1dd31338f7664 (diff) | |
download | mitmproxy-314e0f5839fcd4a1c35323f61938b207232de287.tar.gz mitmproxy-314e0f5839fcd4a1c35323f61938b207232de287.tar.bz2 mitmproxy-314e0f5839fcd4a1c35323f61938b207232de287.zip |
add reverseproxy mode, fix bugs
Diffstat (limited to 'libmproxy/protocol2/reverse_proxy.py')
-rw-r--r-- | libmproxy/protocol2/reverse_proxy.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libmproxy/protocol2/reverse_proxy.py b/libmproxy/protocol2/reverse_proxy.py new file mode 100644 index 00000000..dfffd2f2 --- /dev/null +++ b/libmproxy/protocol2/reverse_proxy.py @@ -0,0 +1,19 @@ +from __future__ import (absolute_import, print_function, division) + +from .layer import Layer, ServerConnectionMixin +from .ssl import SslLayer + + +class ReverseProxy(Layer, ServerConnectionMixin): + + def __init__(self, ctx, server_address, client_ssl, server_ssl): + super(ReverseProxy, self).__init__(ctx) + self.server_address = server_address + self.client_ssl = client_ssl + self.server_ssl = server_ssl + + def __call__(self): + layer = SslLayer(self, self.client_ssl, self.server_ssl) + for message in layer(): + if not self._handle_server_message(message): + yield message |