ConnectionStringProvider

Struct ConnectionStringProvider 

Source
pub struct ConnectionStringProvider { /* private fields */ }

Implementations§

Source§

impl ConnectionStringProvider

Source

pub fn new(config: ConnectionStringConfig) -> Result<Self, ServiceBusError>

Creates a new ConnectionStringProvider from a connection string configuration.

Parses the connection string to extract the namespace, shared access key name, and shared access key. Validates that all required components are present.

§Arguments
  • config - Configuration containing the Service Bus connection string
§Returns

A configured ConnectionStringProvider ready for authentication

§Errors

Returns ServiceBusError::ConfigurationError if:

  • Connection string is empty
  • Connection string is missing required components (Endpoint, SharedAccessKeyName, SharedAccessKey)
  • Connection string format is invalid
§Examples
use quetty_server::auth::{ConnectionStringProvider, ConnectionStringConfig};

let config = ConnectionStringConfig {
    value: "Endpoint=sb://test.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123".to_string(),
};

let provider = ConnectionStringProvider::new(config)?;
Source

pub fn connection_string(&self) -> &str

Gets the original connection string value.

§Returns

The complete connection string as provided in the configuration

Trait Implementations§

Source§

impl AuthProvider for ConnectionStringProvider

Source§

fn authenticate<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<AuthToken, ServiceBusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Authenticates using the connection string by generating a SAS token.

Creates a time-limited SAS token (24 hours) using the shared access key from the connection string. The token can be used to authenticate Service Bus operations.

§Returns

An AuthToken containing the SAS-based connection string and expiration

§Errors

Returns ServiceBusError if SAS token generation fails

Source§

fn auth_type(&self) -> AuthType

Returns the authentication type for this provider.

§Returns

AuthType::ConnectionString indicating connection string authentication

Source§

fn requires_refresh(&self) -> bool

Indicates whether this provider’s tokens require periodic refresh.

Connection string authentication uses SAS tokens that expire, so refresh is required.

§Returns

true because SAS tokens have limited validity

Source§

fn refresh<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<AuthToken, ServiceBusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Refreshes the authentication token. Read more
Source§

impl Clone for ConnectionStringProvider

Source§

fn clone(&self) -> ConnectionStringProvider

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

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> 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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> SendBound for T
where T: Send,