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"} | 
