aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/exceptions.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-02-18 23:10:47 +0100
committerMaximilian Hils <git@maximilianhils.com>2016-02-18 23:10:47 +0100
commit7c6bf7abb3c0e94f9c4dfa77fe0690fe11c6d4d3 (patch)
tree3f583d91ff97924068f7017f770b710da2768abe /netlib/exceptions.py
parentbe02dd105b7803b7b2b6942f9d254539dfd6ba26 (diff)
parent61cde30ef8410dc5400039eea5d312fabf3779a9 (diff)
downloadmitmproxy-7c6bf7abb3c0e94f9c4dfa77fe0690fe11c6d4d3.tar.gz
mitmproxy-7c6bf7abb3c0e94f9c4dfa77fe0690fe11c6d4d3.tar.bz2
mitmproxy-7c6bf7abb3c0e94f9c4dfa77fe0690fe11c6d4d3.zip
Merge pull request #964 from mitmproxy/flat-structure
Flat structure
Diffstat (limited to 'netlib/exceptions.py')
-rw-r--r--netlib/exceptions.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/netlib/exceptions.py b/netlib/exceptions.py
new file mode 100644
index 00000000..05f1054b
--- /dev/null
+++ b/netlib/exceptions.py
@@ -0,0 +1,56 @@
+"""
+We try to be very hygienic regarding the exceptions we throw:
+Every Exception netlib raises shall be a subclass of NetlibException.
+
+
+See also: http://lucumr.pocoo.org/2014/10/16/on-error-handling/
+"""
+from __future__ import absolute_import, print_function, division
+
+
+class NetlibException(Exception):
+ """
+ Base class for all exceptions thrown by netlib.
+ """
+ def __init__(self, message=None):
+ super(NetlibException, self).__init__(message)
+
+
+class Disconnect(object):
+ """Immediate EOF"""
+
+
+class HttpException(NetlibException):
+ pass
+
+
+class HttpReadDisconnect(HttpException, Disconnect):
+ pass
+
+
+class HttpSyntaxException(HttpException):
+ pass
+
+
+class TcpException(NetlibException):
+ pass
+
+
+class TcpDisconnect(TcpException, Disconnect):
+ pass
+
+
+class TcpReadIncomplete(TcpException):
+ pass
+
+
+class TcpTimeout(TcpException):
+ pass
+
+
+class TlsException(NetlibException):
+ pass
+
+
+class InvalidCertificateException(TlsException):
+ pass