Struct reqsign::AzureStorageSigner
source · pub struct AzureStorageSigner { /* private fields */ }
Expand description
Singer that implement Azure Storage Shared Key Authorization.
Implementations§
source§impl Signer
impl Signer
sourcepub fn sign(
&self,
req: &mut impl SignableRequest,
cred: &Credential,
) -> Result<()>
pub fn sign( &self, req: &mut impl SignableRequest, cred: &Credential, ) -> Result<()>
Signing request.
§Example
use anyhow::Result;
use reqsign::AzureStorageConfig;
use reqsign::AzureStorageLoader;
use reqsign::AzureStorageSigner;
use reqwest::Client;
use reqwest::Request;
use reqwest::Url;
#[tokio::main]
async fn main() -> Result<()> {
let config = AzureStorageConfig {
account_name: Some("account_name".to_string()),
account_key: Some("YWNjb3VudF9rZXkK".to_string()),
..Default::default()
};
let loader = AzureStorageLoader::new(config);
let signer = AzureStorageSigner::new();
// Construct request
let url = Url::parse("https://test.blob.core.windows.net/testbucket/testblob")?;
let mut req = reqwest::Request::new(http::Method::GET, url);
// Signing request with Signer
let credential = loader.load().await?.unwrap();
signer.sign(&mut req, &credential)?;
// Sending already signed request.
let resp = Client::new().execute(req).await?;
println!("resp got status: {}", resp.status());
Ok(())
}
sourcepub fn sign_query(
&self,
req: &mut impl SignableRequest,
expire: Duration,
cred: &Credential,
) -> Result<()>
pub fn sign_query( &self, req: &mut impl SignableRequest, expire: Duration, cred: &Credential, ) -> Result<()>
Signing request with query.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Signer
impl RefUnwindSafe for Signer
impl Send for Signer
impl Sync for Signer
impl Unpin for Signer
impl UnwindSafe for Signer
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