diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-02-27 09:17:59 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-02-27 09:17:59 +0100 |
commit | c51a1dbb1166db6265d59f92e7fcf95ec35ff341 (patch) | |
tree | 53e408d0872ee52a21360c4d57b70cfe106ee296 /libmproxy/flow.py | |
parent | 81a274eb51ea7552667a872f0b6db1aeca9315b3 (diff) | |
parent | bd6c3f64c1f3102a4e91d4a964757821773781e0 (diff) | |
download | mitmproxy-c51a1dbb1166db6265d59f92e7fcf95ec35ff341.tar.gz mitmproxy-c51a1dbb1166db6265d59f92e7fcf95ec35ff341.tar.bz2 mitmproxy-c51a1dbb1166db6265d59f92e7fcf95ec35ff341.zip |
Merge branch 'master' of github.com:mitmproxy/mitmproxy
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r-- | libmproxy/flow.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 49ec5a0b..14497964 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -8,12 +8,13 @@ import Cookie import cookielib import os import re -from netlib import odict, wsgi +from netlib import odict, wsgi, tcp import netlib.http from . import controller, protocol, tnetstring, filt, script, version from .onboarding import app from .protocol import http, handle from .proxy.config import HostMatcher +from .proxy.connection import ClientConnection, ServerConnection import urlparse ODict = odict.ODict @@ -763,6 +764,31 @@ class FlowMaster(controller.Master): def duplicate_flow(self, f): return self.load_flow(f.copy()) + def create_request(self, method, scheme, host, port, path): + """ + this method creates a new artificial and minimalist request also adds it to flowlist + """ + c = ClientConnection.from_state(dict( + address=dict(address=(host, port), use_ipv6=False), + clientcert=None + )) + + s = ServerConnection.from_state(dict( + address=dict(address=(host, port), use_ipv6=False), + state=[], + source_address=None, #source_address=dict(address=(host, port), use_ipv6=False), + cert=None, + sni=host, + ssl_established=True + )) + f = http.HTTPFlow(c,s); + headers = ODictCaseless() + + req = http.HTTPRequest("absolute", method, scheme, host, port, path, (1, 1), headers, None, + None, None, None) + f.request = req + return self.load_flow(f) + def load_flow(self, f): """ Loads a flow, and returns a new flow object. |