12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # -*- test-case-name: twisted.protocols.haproxy.test -*-
- # Copyright (c) Twisted Matrix Laboratories.
- # See LICENSE for details.
- """
- HAProxy specific exceptions.
- """
- import contextlib
- import sys
- from twisted.python import compat
- class InvalidProxyHeader(Exception):
- """
- The provided PROXY protocol header is invalid.
- """
- class InvalidNetworkProtocol(InvalidProxyHeader):
- """
- The network protocol was not one of TCP4 TCP6 or UNKNOWN.
- """
- class MissingAddressData(InvalidProxyHeader):
- """
- The address data is missing or incomplete.
- """
- @contextlib.contextmanager
- def convertError(sourceType, targetType):
- """
- Convert an error into a different error type.
- @param sourceType: The type of exception that should be caught and
- converted.
- @type sourceType: L{Exception}
- @param targetType: The type of exception to which the original should be
- converted.
- @type targetType: L{Exception}
- """
- try:
- yield None
- except sourceType:
- compat.reraise(targetType(), sys.exc_info()[-1])
|