[][src]Struct hawk_ws::Handshake

pub struct Handshake {
    pub request: Request,
    pub response: Response,
    pub peer_addr: Option<SocketAddr>,
    pub local_addr: Option<SocketAddr>,
}

A struct representing the two halves of the WebSocket handshake.

Fields

request: Request

The HTTP request sent to begin the handshake.

response: Response

The HTTP response from the server confirming the handshake.

peer_addr: Option<SocketAddr>

The socket address of the other endpoint. This address may be an intermediary such as a proxy server.

local_addr: Option<SocketAddr>

The socket address of this endpoint.

Methods

impl Handshake[src]

pub fn remote_addr(&self) -> Result<Option<String>>[src]

Get the IP address of the remote connection.

This is the preferred method of obtaining the client's IP address. It will attempt to retrieve the most likely IP address based on request headers, falling back to the address of the peer.

Note

This assumes that the peer is a client. If you are implementing a WebSocket client and want to obtain the address of the server, use Handshake::peer_addr instead.

This method does not ensure that the address is a valid IP address.

Trait Implementations

impl Debug for Handshake[src]

Auto Trait Implementations

impl Send for Handshake

impl Sync for Handshake

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]