diff options
author | Aldo Cortesi <aldo@corte.si> | 2017-06-13 09:33:29 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@corte.si> | 2017-06-13 09:43:12 +1200 |
commit | d95f28e6bf581c65a06d410137160a50e584dbfd (patch) | |
tree | a46e743fef47c4cfc7f9ab3b8dfe704819b85588 | |
parent | 06cb68c799e5cd302fdc21c2bc548adf30dd39b3 (diff) | |
download | mitmproxy-d95f28e6bf581c65a06d410137160a50e584dbfd.tar.gz mitmproxy-d95f28e6bf581c65a06d410137160a50e584dbfd.tar.bz2 mitmproxy-d95f28e6bf581c65a06d410137160a50e584dbfd.zip |
config: don't crash with a config file containing only comments
-rw-r--r-- | mitmproxy/optmanager.py | 2 | ||||
-rw-r--r-- | test/mitmproxy/test_optmanager.py | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/mitmproxy/optmanager.py b/mitmproxy/optmanager.py index 70f60bb6..1680d346 100644 --- a/mitmproxy/optmanager.py +++ b/mitmproxy/optmanager.py @@ -432,6 +432,8 @@ def parse(text): raise exceptions.OptionsError("Could not parse options.") if isinstance(data, str): raise exceptions.OptionsError("Config error - no keys found.") + elif data is None: + return {} return data diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py index 04ec7ded..cadc5d76 100644 --- a/test/mitmproxy/test_optmanager.py +++ b/test/mitmproxy/test_optmanager.py @@ -257,6 +257,10 @@ def test_serialize(): with pytest.raises(Exception, match="Config error"): optmanager.load(o2, t) + t = "# a comment" + optmanager.load(o2, t) + assert optmanager.load(o2, "foobar: '123'") == {"foobar": "123"} + t = "" optmanager.load(o2, t) assert optmanager.load(o2, "foobar: '123'") == {"foobar": "123"} |