pub struct RestResolver { /* private fields */ }Expand description
REST-based resolver implementing the OpenFeature Remote Evaluation Protocol (OFREP).
This is a wrapper around the open-feature-ofrep crate.
Implementations§
Source§impl RestResolver
impl RestResolver
Sourcepub async fn new(options: &FlagdOptions) -> Result<Self, FlagdError>
pub async fn new(options: &FlagdOptions) -> Result<Self, FlagdError>
Trait Implementations§
Source§impl Debug for RestResolver
impl Debug for RestResolver
Source§impl FeatureProvider for RestResolver
impl FeatureProvider for RestResolver
Source§fn resolve_bool_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<bool>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_bool_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<bool>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Resolves a boolean flag value
Source§fn resolve_string_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<String>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_string_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<String>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Resolves a string flag value
Source§fn resolve_float_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<f64>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_float_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<f64>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Resolves a float flag value
Source§fn resolve_int_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<i64>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_int_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<i64>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Resolves an integer flag value
Source§fn resolve_struct_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<StructValue>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_struct_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
flag_key: &'life1 str,
evaluation_context: &'life2 EvaluationContext,
) -> Pin<Box<dyn Future<Output = Result<ResolutionDetails<StructValue>, EvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Resolves a structured flag value
Source§fn metadata(&self) -> &ProviderMetadata
fn metadata(&self) -> &ProviderMetadata
The provider interface MUST define a metadata member or accessor, containing a name field
or accessor of type string, which identifies the provider implementation.
Source§fn initialize<'life0, 'life1, 'async_trait>(
&'life0 mut self,
context: &'life1 EvaluationContext,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn initialize<'life0, 'life1, 'async_trait>(
&'life0 mut self,
context: &'life1 EvaluationContext,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
The provider MAY define an initialize function which accepts the global evaluation
context as an argument and performs initialization logic relevant to the provider. Read more
Source§fn status(&self) -> ProviderStatus
fn status(&self) -> ProviderStatus
The provider MAY define a status field/accessor which indicates the readiness of the
provider, with possible values NOT_READY, READY, or ERROR. Read more
Source§fn hooks(&self) -> &[HookWrapper]
fn hooks(&self) -> &[HookWrapper]
The provider MAY define a hooks field or accessor which returns a list of hooks that
the provider supports.
Auto Trait Implementations§
impl !RefUnwindSafe for RestResolver
impl !UnwindSafe for RestResolver
impl Freeze for RestResolver
impl Send for RestResolver
impl Sync for RestResolver
impl Unpin for RestResolver
impl UnsafeUnpin for RestResolver
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request