Struct launchdarkly_server_sdk::User
source · [−]pub struct User { /* private fields */ }
Expand description
A User contains specific attributes of a user browsing your site. The only mandatory property is the Key, which must uniquely identify each user. For authenticated users, this may be a username or e-mail address. For anonymous users, this could be an IP address or session ID.
Besides the mandatory key, User supports two kinds of optional attributes: interpreted attributes (e.g. IP and Country) and custom attributes. LaunchDarkly can parse interpreted attributes and attach meaning to them. For example, from an IP address, LaunchDarkly can do a geo IP lookup and determine the user’s country.
Custom attributes are not parsed by LaunchDarkly. They can be used in custom rules– for example, a custom attribute such as “customer_ranking” can be used to launch a feature to the top 10% of users on a site.
User fields are immutable and can be accessed only via getter methods. To construct a User, use the UserBuilder by calling the User::with_key.
Implementations
sourceimpl User
impl User
sourcepub fn with_key(key: impl Into<String>) -> UserBuilder
pub fn with_key(key: impl Into<String>) -> UserBuilder
Create a new UserBuilder, seeding it with the provided user key.
sourcepub fn secondary(&self) -> Option<&str>
pub fn secondary(&self) -> Option<&str>
Returns the secondary key of the user, if any.
This affects feature flag targeting (https://docs.launchdarkly.com/docs/targeting-users#section-targeting-rules-based-on-user-attributes) as follows: if you have chosen to bucket users by a specific attribute, the secondary key (if set) is used to further distinguish between users who are otherwise identical according to that attribute.
sourcepub fn first_name(&self) -> Option<&str>
pub fn first_name(&self) -> Option<&str>
Returns the first name of the user, if any.
sourcepub fn anonymous(&self) -> Option<bool>
pub fn anonymous(&self) -> Option<bool>
Returns the anonymous attribute of the user.
If a user is anonymous, the user key will not appear on your LaunchDarkly dashboard.
sourcepub fn value_of(&self, attr: &str) -> Option<AttributeValue>
pub fn value_of(&self, attr: &str) -> Option<AttributeValue>
Return the value of the attribute named attr
.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for User
impl<'de> Deserialize<'de> for User
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<User, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<User, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Serialize for User
impl Serialize for User
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for User
Auto Trait Implementations
impl RefUnwindSafe for User
impl Send for User
impl Sync for User
impl Unpin for User
impl UnwindSafe for User
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more