Struct RestResolver

Source
pub struct RestResolver { /* private fields */ }
Expand description

REST-based resolver implementing the OpenFeature Remote Evaluation Protocol

Implementations§

Source§

impl RestResolver

Source

pub fn new(options: &FlagdOptions) -> Self

Creates a new REST resolver with the specified host and port

§Arguments
  • target - The host and port of the OFREP service, in the format host:port
§Returns

A new instance of RestResolver configured to connect to the specified endpoint

Trait Implementations§

Source§

impl Debug for RestResolver

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

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 = EvaluationResult<ResolutionDetails<bool>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Resolves a boolean flag value

§Arguments
  • flag_key - The unique identifier of the flag
  • evaluation_context - Context data for flag evaluation
§Returns

The resolved boolean value with metadata, or an error if evaluation fails

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 = EvaluationResult<ResolutionDetails<String>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Resolves a string flag value

§Arguments
  • flag_key - The unique identifier of the flag
  • evaluation_context - Context data for flag evaluation
§Returns

The resolved string value with metadata, or an error if evaluation fails

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 = EvaluationResult<ResolutionDetails<f64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Resolves a float flag value

§Arguments
  • flag_key - The unique identifier of the flag
  • evaluation_context - Context data for flag evaluation
§Returns

The resolved float value with metadata, or an error if evaluation fails

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 = EvaluationResult<ResolutionDetails<i64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Resolves an integer flag value

§Arguments
  • flag_key - The unique identifier of the flag
  • evaluation_context - Context data for flag evaluation
§Returns

The resolved integer value with metadata, or an error if evaluation fails

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 = EvaluationResult<ResolutionDetails<StructValue>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Resolves a structured flag value

§Arguments
  • flag_key - The unique identifier of the flag
  • evaluation_context - Context data for flag evaluation
§Returns

The resolved structured value with metadata, or an error if evaluation fails. The structured value can contain nested objects, arrays, and primitive types.

Source§

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,

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

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]

The provider MAY define a hooks field or accessor which returns a list of hooks that the provider supports.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> AnySync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T