35 lines
917 B
Python
35 lines
917 B
Python
![]() |
# -*- test-case-name: twisted.protocols.haproxy.test -*-
|
||
|
# Copyright (c) Twisted Matrix Laboratories.
|
||
|
# See LICENSE for details.
|
||
|
|
||
|
"""
|
||
|
IProxyInfo implementation.
|
||
|
"""
|
||
|
from typing import Optional
|
||
|
|
||
|
from zope.interface import implementer
|
||
|
|
||
|
import attr
|
||
|
|
||
|
from twisted.internet.interfaces import IAddress
|
||
|
from ._interfaces import IProxyInfo
|
||
|
|
||
|
|
||
|
@implementer(IProxyInfo)
|
||
|
@attr.s(frozen=True, slots=True, auto_attribs=True)
|
||
|
class ProxyInfo:
|
||
|
"""
|
||
|
A data container for parsed PROXY protocol information.
|
||
|
|
||
|
@ivar header: The raw header bytes extracted from the connection.
|
||
|
@type header: C{bytes}
|
||
|
@ivar source: The connection source address.
|
||
|
@type source: L{twisted.internet.interfaces.IAddress}
|
||
|
@ivar destination: The connection destination address.
|
||
|
@type destination: L{twisted.internet.interfaces.IAddress}
|
||
|
"""
|
||
|
|
||
|
header: bytes
|
||
|
source: Optional[IAddress]
|
||
|
destination: Optional[IAddress]
|