pub struct RequestBuilder<'a> { /* private fields */ }Expand description
The RequestBuilder is used to create the protocol requests. Each request is represented by an instance of protocol::request::Request.
Implementations§
Source§impl<'a> RequestBuilder<'a>
The RequestBuilder is a stateful builder for protocol::request::Request objects. After being
instantiated with the base parameters for the current request, it has functions for accumulating
an update check, a ping, and multiple events for individual App objects.
impl<'a> RequestBuilder<'a>
The RequestBuilder is a stateful builder for protocol::request::Request objects. After being instantiated with the base parameters for the current request, it has functions for accumulating an update check, a ping, and multiple events for individual App objects.
The ‘add_*()’ functions are all insensitive to order for a given App and it’s Cohort. However, if multiple different App entries are used, then order matters. The order in the request is the order that the Apps are added to the RequestBuilder.
Further, the cohort is only captured on the first time a given App is added to the request. If, for some reason, the same App is added twice, but with a different cohort, the latter cohort is ignored.
The operation being added (update check, ping, or event) is added to the existing App. The app maintains its existing place in the list of Apps to be added to the request.
Sourcepub fn new(config: &'a Config, params: &RequestParams) -> Self
pub fn new(config: &'a Config, params: &RequestParams) -> Self
Constructor for creating a new RequestBuilder based on the Updater configuration and the parameters for the current request.
Sourcepub fn add_update_check(self, app: &App) -> Self
pub fn add_update_check(self, app: &App) -> Self
This function adds an update check for the given App, in the given Cohort. This function is an idempotent accumulator, in that it only once adds the App with it’s associated Cohort to the request. Afterward, it just adds the update check to the App.
Sourcepub fn add_ping(self, app: &App) -> Self
pub fn add_ping(self, app: &App) -> Self
This function adds a Ping for the given App, in the given Cohort. This function is an idempotent accumulator, in that it only once adds the App with it’s associated Cohort to the request. Afterward, it just marks the App as needing a Ping.
Sourcepub fn add_event(self, app: &App, event: Event) -> Self
pub fn add_event(self, app: &App, event: Event) -> Self
This function adds an Event for the given App, in the given Cohort. This function is an idempotent accumulator, in that it only once adds the App with it’s associated Cohort to the request. Afterward, it just adds the Event to the App.
Sourcepub fn request_id(self, request_id: GUID) -> Self
pub fn request_id(self, request_id: GUID) -> Self
Set the request id of the request.
Sourcepub fn session_id(self, session_id: GUID) -> Self
pub fn session_id(self, session_id: GUID) -> Self
Set the session id of the request.
Sourcepub fn build(
&self,
cup_handler: Option<&impl Cupv2RequestHandler>,
) -> Result<(Request<Body>, Option<RequestMetadata>)>
pub fn build( &self, cup_handler: Option<&impl Cupv2RequestHandler>, ) -> Result<(Request<Body>, Option<RequestMetadata>)>
This function constructs the protocol::request::Request object from this Builder.
Note that the builder is not consumed in the process, and can be used afterward.
Auto Trait Implementations§
impl<'a> Freeze for RequestBuilder<'a>
impl<'a> RefUnwindSafe for RequestBuilder<'a>
impl<'a> Send for RequestBuilder<'a>
impl<'a> Sync for RequestBuilder<'a>
impl<'a> Unpin for RequestBuilder<'a>
impl<'a> UnsafeUnpin for RequestBuilder<'a>
impl<'a> UnwindSafe for RequestBuilder<'a>
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
§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>
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>
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);