aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/exceptions.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-11 12:13:39 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-11 12:13:39 +0200
commit7c186a4edbb0c6bc1f471d0db62dfc60008160a2 (patch)
tree89fb7e5b14cdfe9a0b61da828ddac8f355a3cdd0 /libmproxy/exceptions.py
parentb62498e125191beca3b49841eb5f1fb9a93a868a (diff)
parentdd414e485212e3cab612a66d5d858c1a766ace04 (diff)
downloadmitmproxy-7c186a4edbb0c6bc1f471d0db62dfc60008160a2.tar.gz
mitmproxy-7c186a4edbb0c6bc1f471d0db62dfc60008160a2.tar.bz2
mitmproxy-7c186a4edbb0c6bc1f471d0db62dfc60008160a2.zip
Merge branch 'master' into contentviews
Diffstat (limited to 'libmproxy/exceptions.py')
-rw-r--r--libmproxy/exceptions.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/libmproxy/exceptions.py b/libmproxy/exceptions.py
index f34d9707..0e11c136 100644
--- a/libmproxy/exceptions.py
+++ b/libmproxy/exceptions.py
@@ -1,23 +1,42 @@
+"""
+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.
+
+ Args:
+ message: the error message
+ cause: (optional) an error object that caused this exception, e.g. an IOError.
"""
- def __init__(self, message, cause=None):
+ def __init__(self, message):
"""
:param message: Error Message
- :param cause: Exception object that caused this exception to be thrown.
"""
super(ProxyException, self).__init__(message)
- self.cause = cause
class ProtocolException(ProxyException):
pass
+class TlsException(ProtocolException):
+ pass
+
+
+class ClientHandshakeException(TlsException):
+ def __init__(self, message, server):
+ super(ClientHandshakeException, self).__init__(message)
+ self.server = server
+
+
class Socks5Exception(ProtocolException):
pass