Cute   Learning Hub


  • IConnectionInformation
  • IConnectionInformation Class

    class Cute::IConnectionInformation

    The Cute::IConnectionInformation class is an interface allowing interaction with the established connection. More...

    Header: #include <CuteServer.h>

    Public Functions

    virtual void dropConnection() = 0
    virtual bool isEncrypted() const = 0
    virtual bool isProxyProtocolEnabled() const = 0
    virtual QSslCertificate localCertificate() const = 0
    virtual QList<QSslCertificate> localCertificateChain() const = 0
    virtual QString localIp() const = 0
    virtual quint16 localPort() const = 0
    virtual QSslCertificate peerCertificate() const = 0
    virtual QList<QSslCertificate> peerCertificateChain() const = 0
    virtual QString peerIp() const = 0
    virtual quint16 peerPort() const = 0
    virtual QString proxiedIp() const = 0
    virtual quint16 proxiedPort() const = 0
    virtual QString proxyIp() const = 0
    virtual quint16 proxyPort() const = 0
    virtual QSslCipher sessionCipher() const = 0
    virtual QVariant sessionData() const = 0
    virtual QSsl::SslProtocol sessionProtocol() const = 0
    virtual QSslConfiguration sslConfiguration() const = 0

    Detailed Description

    Every class registered to the Cute Server must have a public constructor that receives a single argument of type QSharedPointer<Cute::IConnectionInformation>. When a remote object is instantiated in server code due to a remote object instantiated in client code, the QVariant passed as sessionData in the remote object constructor is given by sessionData in server side. When handling http requests, sessionData returns an invalid QVariant.

    Member Function Documentation

    [pure virtual] void IConnectionInformation::dropConnection()

    Drops the connection.

    [pure virtual] bool IConnectionInformation::isEncrypted() const

    Returns true if the connection is SSL-encrypted.

    [pure virtual] bool IConnectionInformation::isProxyProtocolEnabled() const

    Returns true if the Cute server expects a proxy protocol header on every TCP connection. Both proxy protocol versions 1 and 2 are supported. Proxies are intermediaries between the server and the client. With proxies, client-server communication requires two connections: One between the client and the proxy and another between the proxy and the server. The proxy protocol standardizes how the proxy sends client information to the server. A common role played by proxies is to act as a load balancer.

    [pure virtual] QSslCertificate IConnectionInformation::localCertificate() const

    Returns the local certificate used on encrypted connections.

    See also isEncrypted and QSslSocket::localCertificate.

    [pure virtual] QList<QSslCertificate> IConnectionInformation::localCertificateChain() const

    Returns the local chain of certificates used on encrypted connections.

    See also isEncrypted and QSslSocket::localCertificateChain.

    [pure virtual] QString IConnectionInformation::localIp() const

    Returns the local IP of the connection.

    [pure virtual] quint16 IConnectionInformation::localPort() const

    Returns the local port of the connection.

    [pure virtual] QSslCertificate IConnectionInformation::peerCertificate() const

    Returns the peer certificate used on encrypted connections.

    See also isEncrypted and QSslSocket::peerCertificate.

    [pure virtual] QList<QSslCertificate> IConnectionInformation::peerCertificateChain() const

    Returns the peer chain of certificates used on encrypted connections.

    See also isEncrypted and QSslSocket::peerCertificateChain.

    [pure virtual] QString IConnectionInformation::peerIp() const

    Returns the IP of the connected peer. If a proxy is present, this is the proxy IP.

    See also isProxyProtocolEnabled().

    [pure virtual] quint16 IConnectionInformation::peerPort() const

    Returns the port of the connected peer. If a proxy is present, this is the proxy port.

    See also isProxyProtocolEnabled().

    [pure virtual] QString IConnectionInformation::proxiedIp() const

    Returns the client IP when a proxy is being used.

    See also isProxyProtocolEnabled().

    [pure virtual] quint16 IConnectionInformation::proxiedPort() const

    Returns the client port when a proxy is being used.

    See also isProxyProtocolEnabled().

    [pure virtual] QString IConnectionInformation::proxyIp() const

    Returns the proxy IP when a proxy is being used.

    See also isProxyProtocolEnabled().

    [pure virtual] quint16 IConnectionInformation::proxyPort() const

    Returns the proxy port when a proxy is being used.

    See also isProxyProtocolEnabled().

    [pure virtual] QSslCipher IConnectionInformation::sessionCipher() const

    Returns the used cipher for encrypted connections.

    See also isEncrypted and QSslSocket::sessionCipher.

    [pure virtual] QVariant IConnectionInformation::sessionData() const

    Returns the sessionData given by client when instantiating the remote object. When handling http requests the returned QVariant is invalid.

    [pure virtual] QSsl::SslProtocol IConnectionInformation::sessionProtocol() const

    Returns the session protocol for encrypted connections.

    See also isEncrypted and QSslSocket::sessionProtocol.

    [pure virtual] QSslConfiguration IConnectionInformation::sslConfiguration() const

    If the connection is encrypted, returns the SSL configuration used in the connection

    See also isEncrypted and QSslSocket::sslConfiguration.