#[non_exhaustive]pub struct Request {
pub id: String,
pub event: Event,
pub node: String,
pub transport: Transport,
pub remote: Option<SocketAddr>,
pub local: Option<SocketAddr>,
pub server_name: Option<String>,
pub alpn: Option<String>,
pub path: String,
pub query: Option<String>,
pub role: Option<Role>,
pub tls: Option<Peer>,
}Expand description
Everything a relay knows about a session, sent to the auth server on every event.
Nothing is parsed on the relay’s behalf: the server keys policy on the raw
path and query, so no query parameter is special
and a credential can be whatever the server understands. The same shape carries
every Event; an end adds what the session did.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: StringRandom 128-bit hex, unique per session; the key every event for it shares.
event: EventWhich lifecycle event this is, with what an end carries.
node: StringThe operator’s name for the relay asking.
transport: TransportHow the session reached the relay.
remote: Option<SocketAddr>The peer’s socket address, absent on a transport without one (a unix socket).
local: Option<SocketAddr>The relay’s socket address the session arrived on, absent likewise.
server_name: Option<String>The SNI the client presented, when the transport carried TLS.
alpn: Option<String>The negotiated application protocol, including the moq version.
path: StringThe path exactly as dialed.
query: Option<String>The raw query string, without the leading ?.
role: Option<Role>The direction the client declared at SETUP; absent means both.
tls: Option<Peer>The verified client certificate, when one was presented.