aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/main.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2014-09-14 11:30:00 +1200
committerAldo Cortesi <aldo@nullcube.com>2014-09-14 11:30:00 +1200
commit81e3a6e8e661b212bf45fb37623556f2793d2184 (patch)
treef0fdb3d88bce83263fa91b5a0000093f335d865f /libmproxy/main.py
parent7b74d207f39e642e5029a4855da47314ce224a33 (diff)
downloadmitmproxy-81e3a6e8e661b212bf45fb37623556f2793d2184.tar.gz
mitmproxy-81e3a6e8e661b212bf45fb37623556f2793d2184.tar.bz2
mitmproxy-81e3a6e8e661b212bf45fb37623556f2793d2184.zip
Super-basic outline for web io loop
Diffstat (limited to 'libmproxy/main.py')
-rw-r--r--libmproxy/main.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/libmproxy/main.py b/libmproxy/main.py
index f30b5928..ba869e19 100644
--- a/libmproxy/main.py
+++ b/libmproxy/main.py
@@ -163,3 +163,45 @@ def mitmdump(): # pragma: nocover
except KeyboardInterrupt:
pass
+
+def mitmweb_cmdline():
+ from . import web
+ parser = argparse.ArgumentParser(usage="%(prog)s [options]")
+ parser.add_argument(
+ '--version',
+ action='version',
+ version=version.NAMEVERSION
+ )
+ cmdline.common_options(parser)
+ group = parser.add_argument_group(
+ "Filters",
+ "See help in mitmproxy for filter expression syntax."
+ )
+ group.add_argument(
+ "-i", "--intercept", action="store",
+ type=str, dest="intercept", default=None,
+ help="Intercept filter expression."
+ )
+
+ options = parser.parse_args()
+ if options.quiet:
+ options.verbose = 0
+
+ proxy_config = process_proxy_options(parser, options)
+ web_options = web.Options(**cmdline.get_common_options(options))
+ return web_options, proxy_config
+
+
+def mitmweb(): # pragma: nocover
+ from . import web
+
+ check_versions()
+ assert_utf8_env()
+ web_options, proxy_config = mitmproxy_cmdline()
+ server = get_server(web_options.no_server, proxy_config)
+
+ m = web.WebMaster(server, web_options)
+ try:
+ m.run()
+ except KeyboardInterrupt:
+ pass