Trait qiniu_credential::CredentialProvider
source · pub trait CredentialProvider: DynClone + Debug + Sync + Send {
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>;
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>> { ... }
}
Expand description
认证信息获取接口
Required Methods§
sourcefn get(&self, opts: GetOptions) -> IoResult<GotCredential>
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>
返回七牛认证信息
该方法的异步版本为 Self::async_get
。
Provided Methods§
sourcefn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
Available on crate feature
async
only.异步返回七牛认证信息
Examples found in repository?
src/lib.rs (line 971)
967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982
fn async_get(&self, opts: GetOptions) -> AsyncIoResult<'_, GotCredential> {
Box::pin(async move {
let mut last_err = None;
for provider in self.credentials.iter() {
match provider.async_get(opts).await {
Ok(cred) => {
return Ok(cred);
}
Err(err) => {
last_err = Some(err);
}
}
}
Err(last_err.expect("No credential in ChainCredentialsProvider, which is unexpected"))
})
}
Trait Implementations§
source§impl<'clone> Clone for Box<dyn CredentialProvider + 'clone>
impl<'clone> Clone for Box<dyn CredentialProvider + 'clone>
Implementations on Foreign Types§
source§impl<'a, T: 'a + CredentialProvider + ?Sized> CredentialProvider for &'a Twhere
&'a T: DynClone + Debug + Sync + Send,
impl<'a, T: 'a + CredentialProvider + ?Sized> CredentialProvider for &'a Twhere
&'a T: DynClone + Debug + Sync + Send,
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>
source§fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
Available on crate feature
async
only.source§impl<'a, T: 'a + CredentialProvider + ?Sized> CredentialProvider for &'a mut Twhere
&'a mut T: DynClone + Debug + Sync + Send,
impl<'a, T: 'a + CredentialProvider + ?Sized> CredentialProvider for &'a mut Twhere
&'a mut T: DynClone + Debug + Sync + Send,
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>
source§fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
Available on crate feature
async
only.source§impl<T: CredentialProvider + ?Sized> CredentialProvider for Box<T>where
Box<T>: DynClone + Debug + Sync + Send,
impl<T: CredentialProvider + ?Sized> CredentialProvider for Box<T>where
Box<T>: DynClone + Debug + Sync + Send,
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>
source§fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
Available on crate feature
async
only.source§impl<T: CredentialProvider + ?Sized> CredentialProvider for Rc<T>where
Rc<T>: DynClone + Debug + Sync + Send,
impl<T: CredentialProvider + ?Sized> CredentialProvider for Rc<T>where
Rc<T>: DynClone + Debug + Sync + Send,
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>
source§fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
Available on crate feature
async
only.source§impl<T: CredentialProvider + ?Sized> CredentialProvider for Arc<T>where
Arc<T>: DynClone + Debug + Sync + Send,
impl<T: CredentialProvider + ?Sized> CredentialProvider for Arc<T>where
Arc<T>: DynClone + Debug + Sync + Send,
fn get(&self, opts: GetOptions) -> IoResult<GotCredential>
source§fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
fn async_get(
&self,
opts: GetOptions
) -> Pin<Box<dyn Future<Output = IoResult<GotCredential>> + Send + '_>>
Available on crate feature
async
only.