#[non_exhaustive]pub struct SessionOrigin {
pub at: DateTime<Utc>,
pub ip_prefix: IpAddr,
pub ip: Option<IpAddr>,
pub user_agent: Option<String>,
pub client: ClientSummary,
}Expand description
Where a session started, recorded at login. The precise parts (ip, user_agent, the
city) are kept only with
keep_origin_client.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.at: DateTime<Utc>Login time.
ip_prefix: IpAddrThe client IP’s /24 (IPv4) or /48 (IPv6) network address.
ip: Option<IpAddr>Client IP. Only with keep_origin_client.
user_agent: Option<String>Client User-Agent, truncated to the header cap. Only with keep_origin_client.
client: ClientSummaryWhere the login came from and what sent it. No city unless keep_origin_client.
Trait Implementations§
Source§impl Clone for SessionOrigin
impl Clone for SessionOrigin
Source§impl Debug for SessionOrigin
impl Debug for SessionOrigin
Source§impl<'de> Deserialize<'de> for SessionOrigin
impl<'de> Deserialize<'de> for SessionOrigin
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SessionOrigin
Source§impl PartialEq for SessionOrigin
impl PartialEq for SessionOrigin
Source§impl Serialize for SessionOrigin
impl Serialize for SessionOrigin
impl StructuralPartialEq for SessionOrigin
Auto Trait Implementations§
impl Freeze for SessionOrigin
impl RefUnwindSafe for SessionOrigin
impl Send for SessionOrigin
impl Sync for SessionOrigin
impl Unpin for SessionOrigin
impl UnsafeUnpin for SessionOrigin
impl UnwindSafe for SessionOrigin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more