diff --git a/Cargo.lock b/Cargo.lock index 52e271a9ac958608c805eafadf032ed4eb7d0750..347a6d3e49c5b0ffdfaf1423f1417082ec55c77d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -830,8 +830,7 @@ dependencies = [ [[package]] name = "prometheus-http-query" version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0de773a6ba25c9164ed9d86d653a92fac759a6f0e683fd141d56bb96e80fd8b" +source = "git+https://github.com/VoltaireNoir/prometheus-http-query/#d2c90243b017f77b8149fba39c165a7e28e4ad95" dependencies = [ "enum-as-inner", "mime", diff --git a/Cargo.toml b/Cargo.toml index 696fc51a9b0b5202cfa030d4d540dcbc5c748c90..5a74b63aacb1d7700362969bf397445b4671abfc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] enum-as-inner = "0.6.0" -prometheus-http-query = "0.8.1" +prometheus-http-query = { git = "https://github.com/VoltaireNoir/prometheus-http-query/"} reqwest = "0.11.22" url = "2.5.0" serde = { version = "1.0.193", optional = true } @@ -22,6 +22,7 @@ utils = ["dep:serde", "dep:serde_json", "dep:rayon"] metricsql = [] macros = ["dep:mquery-macros"] multi = ["dep:tokio"] +serde = ["dep:serde"] [dev-dependencies] tokio = { version = "1.34.0", default-features = false, features = ["macros", "rt-multi-thread"]} diff --git a/src/result.rs b/src/result.rs index 684933342a7d35c4dc7e53d1a9fe1e5ce5a7c69f..e7d949e24f461e565719dd54b13ee03014524857 100644 --- a/src/result.rs +++ b/src/result.rs @@ -10,6 +10,9 @@ use enum_as_inner::EnumAsInner; use prometheus_http_query::{error, response}; use std::fmt::{self, Display}; +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + pub type QryResult = std::result::Result<Data, Error>; pub type RawResult = std::result::Result<reqwest::Response, Error>; @@ -34,6 +37,7 @@ impl IntoResult for Result<reqwest::Response, error::Error> { } /// A wrapper for possible result types of expression queries +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Clone, Debug, EnumAsInner)] pub enum Data { Vector(Vec<response::InstantVector>),