pub trait PromRequest: Serialize {
type Output<KV: Clone + Debug + DeserializeOwned>: Clone + Debug + DeserializeOwned;
const PATH: &str;
// Provided methods
fn send<'life0, 'life1, 'async_trait, KV>(
&'life0 self,
host: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Output<KV>, Error>> + Send + 'async_trait>>
where KV: Clone + Debug + DeserializeOwned + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn send_with_client<'life0, 'life1, 'life2, 'async_trait, KV>(
&'life0 self,
client: &'life1 Client,
host: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Output<KV>, Error>> + Send + 'async_trait>>
where KV: Clone + Debug + DeserializeOwned + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
}Expand description
Trait for types that can be sent as Prometheus API requests
Required Associated Constants§
Required Associated Types§
Sourcetype Output<KV: Clone + Debug + DeserializeOwned>: Clone + Debug + DeserializeOwned
type Output<KV: Clone + Debug + DeserializeOwned>: Clone + Debug + DeserializeOwned
The output type returned by this request
Provided Methods§
Sourcefn send<'life0, 'life1, 'async_trait, KV>(
&'life0 self,
host: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Output<KV>, Error>> + Send + 'async_trait>>where
KV: Clone + Debug + DeserializeOwned + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send<'life0, 'life1, 'async_trait, KV>(
&'life0 self,
host: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Output<KV>, Error>> + Send + 'async_trait>>where
KV: Clone + Debug + DeserializeOwned + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Send the request to the given prometheus host URL
Sourcefn send_with_client<'life0, 'life1, 'life2, 'async_trait, KV>(
&'life0 self,
client: &'life1 Client,
host: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Output<KV>, Error>> + Send + 'async_trait>>where
KV: Clone + Debug + DeserializeOwned + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send_with_client<'life0, 'life1, 'life2, 'async_trait, KV>(
&'life0 self,
client: &'life1 Client,
host: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Self::Output<KV>, Error>> + Send + 'async_trait>>where
KV: Clone + Debug + DeserializeOwned + 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Send the request using the provided reqwest client
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".