azure_core/policies/
mod.rs1mod custom_headers_policy;
2mod retry_policies;
3mod telemetry_policy;
4mod timeout_policy;
5mod transport;
6
7pub use custom_headers_policy::{CustomHeaders, CustomHeadersPolicy};
8pub use retry_policies::*;
9pub use telemetry_policy::*;
10pub use timeout_policy::*;
11pub use transport::*;
12
13use crate::{Context, Request, Response};
14use async_trait::async_trait;
15use std::sync::Arc;
16
17pub type PolicyResult = crate::error::Result<Response>;
19#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
29#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
30pub trait Policy: Send + Sync + std::fmt::Debug {
31 async fn send(
32 &self,
33 ctx: &Context,
34 request: &mut Request,
35 next: &[Arc<dyn Policy>],
36 ) -> PolicyResult;
37}