diff options
Diffstat (limited to 'mitmproxy/libmproxy/exceptions.py')
-rw-r--r-- | mitmproxy/libmproxy/exceptions.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/mitmproxy/libmproxy/exceptions.py b/mitmproxy/libmproxy/exceptions.py new file mode 100644 index 00000000..a5d35263 --- /dev/null +++ b/mitmproxy/libmproxy/exceptions.py @@ -0,0 +1,57 @@ +""" +We try to be very hygienic regarding the exceptions we throw: +Every Exception mitmproxy raises shall be a subclass of ProxyException. + + +See also: http://lucumr.pocoo.org/2014/10/16/on-error-handling/ +""" +from __future__ import (absolute_import, print_function, division) + + +class ProxyException(Exception): + + """ + Base class for all exceptions thrown by libmproxy. + """ + + def __init__(self, message=None): + super(ProxyException, self).__init__(message) + + +class ProtocolException(ProxyException): + pass + + +class TlsProtocolException(ProtocolException): + pass + + +class ClientHandshakeException(TlsProtocolException): + + def __init__(self, message, server): + super(ClientHandshakeException, self).__init__(message) + self.server = server + + +class Socks5ProtocolException(ProtocolException): + pass + + +class HttpProtocolException(ProtocolException): + pass + + +class ServerException(ProxyException): + pass + + +class ContentViewException(ProxyException): + pass + + +class ReplayException(ProxyException): + pass + + +class ScriptException(ProxyException): + pass |