Struct ProfileSelectorUsernameParser
pub struct ProfileSelectorUsernameParser { /* private fields */ }Available on crate features
std and ua only.Expand description
Parses ua_<word> username labels into a UserAgent that selects the
profile ProfileEmulateLayer emulates.
Each label names a browser, platform or device, as the User-Agent
classifier reads them: john-ua_chrome-ua_macos selects Chrome on macOS and
john-ua_mobile any mobile profile. Without such labels no UserAgent is
inserted and selection stays unrestricted. A word that names no class, or
one that contradicts an earlier label, aborts parsing.
Key and value share one label, so it combines with other parsers as a tuple,
such as the proxy filter parser of rama-proxy: john-country-ua-ua_firefox
selects a Ukrainian proxy and a Firefox profile.
Implementations§
§impl ProfileSelectorUsernameParser
impl ProfileSelectorUsernameParser
pub fn new() -> ProfileSelectorUsernameParser
pub fn new() -> ProfileSelectorUsernameParser
Create a new ProfileSelectorUsernameParser.
Trait Implementations§
§impl Clone for ProfileSelectorUsernameParser
impl Clone for ProfileSelectorUsernameParser
§fn clone(&self) -> ProfileSelectorUsernameParser
fn clone(&self) -> ProfileSelectorUsernameParser
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for ProfileSelectorUsernameParser
impl Debug for ProfileSelectorUsernameParser
§impl Default for ProfileSelectorUsernameParser
impl Default for ProfileSelectorUsernameParser
§fn default() -> ProfileSelectorUsernameParser
fn default() -> ProfileSelectorUsernameParser
Returns the “default value” for a type. Read more
§impl UsernameLabelParser for ProfileSelectorUsernameParser
impl UsernameLabelParser for ProfileSelectorUsernameParser
§fn parse_label(&mut self, label: &str) -> UsernameLabelState
fn parse_label(&mut self, label: &str) -> UsernameLabelState
Interpret the label and return whether or not the label was recognised and valid. Read more
§fn build(
self,
ext: &Extensions,
) -> Result<(), <ProfileSelectorUsernameParser as UsernameLabelParser>::Error>
fn build( self, ext: &Extensions, ) -> Result<(), <ProfileSelectorUsernameParser as UsernameLabelParser>::Error>
Consume self and store/use any of the relevant info seen.
Auto Trait Implementations§
impl Forget for ProfileSelectorUsernameParser
impl Freeze for ProfileSelectorUsernameParser
impl RefUnwindSafe for ProfileSelectorUsernameParser
impl Send for ProfileSelectorUsernameParser
impl Sync for ProfileSelectorUsernameParser
impl Unpin for ProfileSelectorUsernameParser
impl UnsafeUnpin for ProfileSelectorUsernameParser
impl UnwindSafe for ProfileSelectorUsernameParser
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more