mirror of
https://github.com/neogeek23/drawshare.git
synced 2026-02-05 19:48:22 +00:00
53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
|
|
# -*- 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])
|