aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy
diff options
context:
space:
mode:
authorHenrique <typoon@gmail.com>2019-11-23 16:31:03 -0500
committerHenrique <typoon@gmail.com>2019-11-23 16:31:03 -0500
commit01b40e2c36267db67b19ff6267b5ae3fc8d0ad24 (patch)
tree998989829b2fc92eec51d8b2bd87d1e0d6c6dd3e /mitmproxy
parenta866b424fe60928fb5336f1fa146326424763ca5 (diff)
downloadmitmproxy-01b40e2c36267db67b19ff6267b5ae3fc8d0ad24.tar.gz
mitmproxy-01b40e2c36267db67b19ff6267b5ae3fc8d0ad24.tar.bz2
mitmproxy-01b40e2c36267db67b19ff6267b5ae3fc8d0ad24.zip
Fix to create the confdir in case it doesn't exist
Diffstat (limited to 'mitmproxy')
-rw-r--r--mitmproxy/tools/_main.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/mitmproxy/tools/_main.py b/mitmproxy/tools/_main.py
index 0163e8d3..581498ff 100644
--- a/mitmproxy/tools/_main.py
+++ b/mitmproxy/tools/_main.py
@@ -69,22 +69,35 @@ def run(
debug.register_info_dumpers()
opts = options.Options()
- master = master_cls(opts)
-
parser = make_parser(opts)
- # To make migration from 2.x to 3.0 bearable.
- if "-R" in sys.argv and sys.argv[sys.argv.index("-R") + 1].startswith("http"):
- print("-R is used for specifying replacements.\n"
- "To use mitmproxy in reverse mode please use --mode reverse:SPEC instead")
-
try:
args = parser.parse_args(arguments)
except SystemExit:
arg_check.check()
sys.exit(1)
+
+
try:
opts.set(*args.setoptions, defer=True)
+ opts.confdir = os.path.expanduser(opts.confdir)
+ if not os.path.isdir(opts.confdir):
+ os.makedirs(opts.confdir)
+
+ except exceptions.OptionsError as e:
+ print("%s: %s" % (sys.argv[0], e), file=sys.stderr)
+ sys.exit(1)
+
+ master = master_cls(opts)
+
+ # To make migration from 2.x to 3.0 bearable.
+ if "-R" in sys.argv and sys.argv[sys.argv.index("-R") + 1].startswith("http"):
+ print("-R is used for specifying replacements.\n"
+ "To use mitmproxy in reverse mode please use --mode reverse:SPEC instead")
+
+
+ try:
+
optmanager.load_paths(
opts,
os.path.join(opts.confdir, "config.yaml"),