diff options
author | Maximilian Hils <git@maximilianhils.com> | 2015-02-13 23:48:45 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2015-02-13 23:48:45 +0100 |
commit | bd6c3f64c1f3102a4e91d4a964757821773781e0 (patch) | |
tree | d3397e61a505d0391c18100bba067db8a3f2ece8 /libmproxy/flow.py | |
parent | e0c5f86b20aaeb4a28c725badb30cee6cbd2bd04 (diff) | |
parent | 010b921a93b2c7e3d6b26ca0db4538a56d7c8fb0 (diff) | |
download | mitmproxy-bd6c3f64c1f3102a4e91d4a964757821773781e0.tar.gz mitmproxy-bd6c3f64c1f3102a4e91d4a964757821773781e0.tar.bz2 mitmproxy-bd6c3f64c1f3102a4e91d4a964757821773781e0.zip |
Merge pull request #474 from tekii/feature-426
Feature 426
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. |