aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/main.py')
-rw-r--r--mitmproxy/main.py82
1 files changed, 40 insertions, 42 deletions
diff --git a/mitmproxy/main.py b/mitmproxy/main.py
index 316db91a..2d7299e4 100644
--- a/mitmproxy/main.py
+++ b/mitmproxy/main.py
@@ -41,14 +41,14 @@ def get_server(dummy_server, options):
sys.exit(1)
-def process_options(parser, options):
- if options.sysinfo:
+def process_options(parser, options, args):
+ if args.sysinfo:
print(debug.sysinfo())
sys.exit(0)
- if options.quiet:
- options.verbose = 0
+ if args.quiet:
+ args.verbose = 0
debug.register_info_dumpers()
- return config.process_proxy_options(parser, options)
+ return config.ProxyConfig(options)
def mitmproxy(args=None): # pragma: no cover
@@ -62,21 +62,22 @@ def mitmproxy(args=None): # pragma: no cover
assert_utf8_env()
parser = cmdline.mitmproxy()
- options = parser.parse_args(args)
- proxy_config = process_options(parser, options)
-
- console_options = console.master.Options(**cmdline.get_common_options(options))
- console_options.palette = options.palette
- console_options.palette_transparent = options.palette_transparent
- console_options.eventlog = options.eventlog
- console_options.follow = options.follow
- console_options.intercept = options.intercept
- console_options.limit = options.limit
- console_options.no_mouse = options.no_mouse
-
- server = get_server(console_options.no_server, proxy_config)
+ args = parser.parse_args(args)
try:
+ console_options = console.master.Options(
+ **cmdline.get_common_options(args)
+ )
+ console_options.palette = args.palette
+ console_options.palette_transparent = args.palette_transparent
+ console_options.eventlog = args.eventlog
+ console_options.follow = args.follow
+ console_options.intercept = args.intercept
+ console_options.limit = args.limit
+ console_options.no_mouse = args.no_mouse
+
+ proxy_config = process_options(parser, console_options, args)
+ server = get_server(console_options.no_server, proxy_config)
m = console.master.ConsoleMaster(server, console_options)
except exceptions.OptionsError as e:
print("mitmproxy: %s" % e, file=sys.stderr)
@@ -93,19 +94,17 @@ def mitmdump(args=None): # pragma: no cover
version_check.check_pyopenssl_version()
parser = cmdline.mitmdump()
- options = parser.parse_args(args)
- proxy_config = process_options(parser, options)
- if options.quiet:
- options.flow_detail = 0
-
- dump_options = dump.Options(**cmdline.get_common_options(options))
- dump_options.flow_detail = options.flow_detail
- dump_options.keepserving = options.keepserving
- dump_options.filtstr = " ".join(options.args) if options.args else None
-
- server = get_server(dump_options.no_server, proxy_config)
+ args = parser.parse_args(args)
+ if args.quiet:
+ args.flow_detail = 0
try:
+ dump_options = dump.Options(**cmdline.get_common_options(args))
+ dump_options.flow_detail = args.flow_detail
+ dump_options.keepserving = args.keepserving
+ dump_options.filtstr = " ".join(args.args) if args.args else None
+ proxy_config = process_options(parser, dump_options, args)
+ server = get_server(dump_options.no_server, proxy_config)
master = dump.DumpMaster(server, dump_options)
def cleankill(*args, **kwargs):
@@ -130,21 +129,20 @@ def mitmweb(args=None): # pragma: no cover
parser = cmdline.mitmweb()
- options = parser.parse_args(args)
- proxy_config = process_options(parser, options)
-
- web_options = web.master.Options(**cmdline.get_common_options(options))
- web_options.intercept = options.intercept
- web_options.wdebug = options.wdebug
- web_options.wiface = options.wiface
- web_options.wport = options.wport
- web_options.wsingleuser = options.wsingleuser
- web_options.whtpasswd = options.whtpasswd
- web_options.process_web_options(parser)
-
- server = get_server(web_options.no_server, proxy_config)
+ args = parser.parse_args(args)
try:
+ web_options = web.master.Options(**cmdline.get_common_options(args))
+ web_options.intercept = args.intercept
+ web_options.wdebug = args.wdebug
+ web_options.wiface = args.wiface
+ web_options.wport = args.wport
+ web_options.wsingleuser = args.wsingleuser
+ web_options.whtpasswd = args.whtpasswd
+ web_options.process_web_options(parser)
+
+ proxy_config = process_options(parser, web_options, args)
+ server = get_server(web_options.no_server, proxy_config)
m = web.master.WebMaster(server, web_options)
except exceptions.OptionsError as e:
print("mitmweb: %s" % e, file=sys.stderr)