From 14457f29b3d89e234d0791c4980e5cf9514185dd Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 3 Sep 2015 18:55:38 +0200 Subject: docs++ --- libmproxy/exceptions.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libmproxy/exceptions.py') diff --git a/libmproxy/exceptions.py b/libmproxy/exceptions.py index f34d9707..59436df7 100644 --- a/libmproxy/exceptions.py +++ b/libmproxy/exceptions.py @@ -1,9 +1,20 @@ +""" +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): """ -- cgit v1.2.3 From d002371d30e4b0ab7d1d23023236a9446d4c2396 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Mon, 7 Sep 2015 13:51:46 +0200 Subject: expose `next_layer` to inline scripts --- libmproxy/exceptions.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libmproxy/exceptions.py') diff --git a/libmproxy/exceptions.py b/libmproxy/exceptions.py index 59436df7..6b997041 100644 --- a/libmproxy/exceptions.py +++ b/libmproxy/exceptions.py @@ -29,6 +29,10 @@ class ProtocolException(ProxyException): pass +class TlsException(ProtocolException): + pass + + class Socks5Exception(ProtocolException): pass -- cgit v1.2.3 From ffdf143be42490f05cb2b69cdb83e74264d6070a Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Fri, 11 Sep 2015 01:39:33 +0200 Subject: better exception handling --- libmproxy/exceptions.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libmproxy/exceptions.py') diff --git a/libmproxy/exceptions.py b/libmproxy/exceptions.py index 6b997041..7d80ce31 100644 --- a/libmproxy/exceptions.py +++ b/libmproxy/exceptions.py @@ -33,6 +33,11 @@ class TlsException(ProtocolException): pass +class ClientHandshakeException(TlsException): + # This subclass is quite useful to give hints about cert errors. + pass + + class Socks5Exception(ProtocolException): pass -- cgit v1.2.3 From dd414e485212e3cab612a66d5d858c1a766ace04 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Fri, 11 Sep 2015 02:17:04 +0200 Subject: better error messages, remove error cause --- libmproxy/exceptions.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'libmproxy/exceptions.py') diff --git a/libmproxy/exceptions.py b/libmproxy/exceptions.py index 7d80ce31..0e11c136 100644 --- a/libmproxy/exceptions.py +++ b/libmproxy/exceptions.py @@ -16,13 +16,11 @@ class ProxyException(Exception): 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): @@ -34,8 +32,9 @@ class TlsException(ProtocolException): class ClientHandshakeException(TlsException): - # This subclass is quite useful to give hints about cert errors. - pass + def __init__(self, message, server): + super(ClientHandshakeException, self).__init__(message) + self.server = server class Socks5Exception(ProtocolException): -- cgit v1.2.3