diff --git a/cloudflare-e2e-test/src/storage_databases/kv.rs b/cloudflare-e2e-test/src/storage_databases/kv.rs index 0685c302..d7721f41 100644 --- a/cloudflare-e2e-test/src/storage_databases/kv.rs +++ b/cloudflare-e2e-test/src/storage_databases/kv.rs @@ -429,7 +429,6 @@ fn get_random_title() -> String { char::from(90), )) .take(10) - .map(char::from) .collect(); title } diff --git a/cloudflare/src/endpoints/ai/execute_model.rs b/cloudflare/src/endpoints/ai/execute_model.rs index 67869427..3101f872 100644 --- a/cloudflare/src/endpoints/ai/execute_model.rs +++ b/cloudflare/src/endpoints/ai/execute_model.rs @@ -31,7 +31,7 @@ impl EndpointSpec for ExecuteModel<'_> { } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } @@ -320,12 +320,12 @@ pub enum MessageRole { Assistant, } -impl ToString for MessageRole { - fn to_string(&self) -> String { +impl std::fmt::Display for MessageRole { + fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - MessageRole::System => "System".to_string(), - MessageRole::User => "User".to_string(), - MessageRole::Assistant => "Assistant".to_string(), + MessageRole::System => write!(formatter, "System"), + MessageRole::User => write!(formatter, "User"), + MessageRole::Assistant => write!(formatter, "Assistant"), } } } diff --git a/cloudflare/src/endpoints/argo_tunnel/create_tunnel.rs b/cloudflare/src/endpoints/argo_tunnel/create_tunnel.rs index 2187353a..985c811b 100644 --- a/cloudflare/src/endpoints/argo_tunnel/create_tunnel.rs +++ b/cloudflare/src/endpoints/argo_tunnel/create_tunnel.rs @@ -30,7 +30,7 @@ impl EndpointSpec for CreateTunnel<'_> { format!("accounts/{}/tunnels", self.account_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/argo_tunnel/route_dns.rs b/cloudflare/src/endpoints/argo_tunnel/route_dns.rs index 46f4a0c3..8d4502c0 100644 --- a/cloudflare/src/endpoints/argo_tunnel/route_dns.rs +++ b/cloudflare/src/endpoints/argo_tunnel/route_dns.rs @@ -28,7 +28,7 @@ impl EndpointSpec for RouteTunnel<'_> { format!("zones/{}/tunnels/{}/routes", self.zone_tag, self.tunnel_id) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/cfd_tunnel/create_tunnel.rs b/cloudflare/src/endpoints/cfd_tunnel/create_tunnel.rs index ffd74e58..b43c6008 100644 --- a/cloudflare/src/endpoints/cfd_tunnel/create_tunnel.rs +++ b/cloudflare/src/endpoints/cfd_tunnel/create_tunnel.rs @@ -30,7 +30,7 @@ impl EndpointSpec for CreateTunnel<'_> { format!("accounts/{}/cfd_tunnel", self.account_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/cfd_tunnel/route_dns.rs b/cloudflare/src/endpoints/cfd_tunnel/route_dns.rs index ae747661..c2d842f6 100644 --- a/cloudflare/src/endpoints/cfd_tunnel/route_dns.rs +++ b/cloudflare/src/endpoints/cfd_tunnel/route_dns.rs @@ -30,7 +30,7 @@ impl EndpointSpec for RouteTunnel<'_> { format!("zones/{}/tunnels/{}/routes", self.zone_tag, self.tunnel_id) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/cfd_tunnel/update_tunnel.rs b/cloudflare/src/endpoints/cfd_tunnel/update_tunnel.rs index 79e080d4..94e869aa 100644 --- a/cloudflare/src/endpoints/cfd_tunnel/update_tunnel.rs +++ b/cloudflare/src/endpoints/cfd_tunnel/update_tunnel.rs @@ -34,7 +34,7 @@ impl EndpointSpec for UpdateTunnel<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/dns/dns.rs b/cloudflare/src/endpoints/dns/dns.rs index 66afd829..9ee2f086 100644 --- a/cloudflare/src/endpoints/dns/dns.rs +++ b/cloudflare/src/endpoints/dns/dns.rs @@ -49,7 +49,7 @@ impl EndpointSpec for CreateDnsRecord<'_> { format!("zones/{}/dns_records", self.zone_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } @@ -117,7 +117,7 @@ impl EndpointSpec for UpdateDnsRecord<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/load_balancing/create_lb.rs b/cloudflare/src/endpoints/load_balancing/create_lb.rs index b3dd1c6f..31ed2b53 100644 --- a/cloudflare/src/endpoints/load_balancing/create_lb.rs +++ b/cloudflare/src/endpoints/load_balancing/create_lb.rs @@ -67,7 +67,7 @@ impl EndpointSpec for CreateLoadBalancer<'_> { format!("zones/{}/load_balancers", self.zone_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/load_balancing/create_pool.rs b/cloudflare/src/endpoints/load_balancing/create_pool.rs index 9a1aaaa5..9f0bc2c0 100644 --- a/cloudflare/src/endpoints/load_balancing/create_pool.rs +++ b/cloudflare/src/endpoints/load_balancing/create_pool.rs @@ -63,7 +63,7 @@ impl EndpointSpec for CreatePool<'_> { format!("accounts/{}/load_balancers/pools", self.account_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/workers/create_route.rs b/cloudflare/src/endpoints/workers/create_route.rs index ead47d74..ac530b05 100644 --- a/cloudflare/src/endpoints/workers/create_route.rs +++ b/cloudflare/src/endpoints/workers/create_route.rs @@ -25,7 +25,7 @@ impl EndpointSpec for CreateRoute<'_> { format!("zones/{}/workers/routes", self.zone_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/workers/create_secret.rs b/cloudflare/src/endpoints/workers/create_secret.rs index eb13c45b..ec64c3b8 100644 --- a/cloudflare/src/endpoints/workers/create_secret.rs +++ b/cloudflare/src/endpoints/workers/create_secret.rs @@ -31,7 +31,7 @@ impl EndpointSpec for CreateSecret<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/workers/create_tail.rs b/cloudflare/src/endpoints/workers/create_tail.rs index be6bb79a..dc697397 100644 --- a/cloudflare/src/endpoints/workers/create_tail.rs +++ b/cloudflare/src/endpoints/workers/create_tail.rs @@ -35,7 +35,7 @@ impl EndpointSpec for CreateTail<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { if self.params.url.is_some() { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) diff --git a/cloudflare/src/endpoints/workerskv/create_namespace.rs b/cloudflare/src/endpoints/workerskv/create_namespace.rs index 55d29412..7a228ad3 100644 --- a/cloudflare/src/endpoints/workerskv/create_namespace.rs +++ b/cloudflare/src/endpoints/workerskv/create_namespace.rs @@ -28,7 +28,7 @@ impl EndpointSpec for CreateNamespace<'_> { format!("accounts/{}/storage/kv/namespaces", self.account_identifier) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/workerskv/delete_bulk.rs b/cloudflare/src/endpoints/workerskv/delete_bulk.rs index de425d25..6c80b37d 100644 --- a/cloudflare/src/endpoints/workerskv/delete_bulk.rs +++ b/cloudflare/src/endpoints/workerskv/delete_bulk.rs @@ -29,7 +29,7 @@ impl EndpointSpec for DeleteBulk<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { if self.bulk_keys.len() > 10_000 { panic!("Bulk delete request can only contain up to 10,000 keys."); } diff --git a/cloudflare/src/endpoints/workerskv/rename_namespace.rs b/cloudflare/src/endpoints/workerskv/rename_namespace.rs index 9e6d4c37..18401016 100644 --- a/cloudflare/src/endpoints/workerskv/rename_namespace.rs +++ b/cloudflare/src/endpoints/workerskv/rename_namespace.rs @@ -27,7 +27,7 @@ impl EndpointSpec for RenameNamespace<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/endpoints/workerskv/write_bulk.rs b/cloudflare/src/endpoints/workerskv/write_bulk.rs index e0a6ab36..29e57ffc 100644 --- a/cloudflare/src/endpoints/workerskv/write_bulk.rs +++ b/cloudflare/src/endpoints/workerskv/write_bulk.rs @@ -38,7 +38,7 @@ impl EndpointSpec for WriteBulk<'_> { ) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { if self.bulk_key_value_pairs.len() > 10_000 { panic!("Bulk write request must have 10,000 key-value pairs or less."); } diff --git a/cloudflare/src/endpoints/workerskv/write_key.rs b/cloudflare/src/endpoints/workerskv/write_key.rs index 927002e8..f4532974 100644 --- a/cloudflare/src/endpoints/workerskv/write_key.rs +++ b/cloudflare/src/endpoints/workerskv/write_key.rs @@ -53,7 +53,7 @@ impl EndpointSpec for WriteKey<'_> { serialize_query(&self.params) } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { match &self.body { WriteKeyBody::Value(value) => Some(RequestBody::Raw(value.clone())), WriteKeyBody::Metadata(metadata) => Some(RequestBody::MultiPart(metadata)), diff --git a/cloudflare/src/endpoints/zones/zone.rs b/cloudflare/src/endpoints/zones/zone.rs index 15726c47..4f5d43eb 100644 --- a/cloudflare/src/endpoints/zones/zone.rs +++ b/cloudflare/src/endpoints/zones/zone.rs @@ -68,7 +68,7 @@ impl EndpointSpec for CreateZone<'_> { } #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { let body = serde_json::to_string(&self.params).unwrap(); Some(RequestBody::Json(body)) } diff --git a/cloudflare/src/framework/endpoint.rs b/cloudflare/src/framework/endpoint.rs index 1d8f4410..74e0967a 100644 --- a/cloudflare/src/framework/endpoint.rs +++ b/cloudflare/src/framework/endpoint.rs @@ -73,7 +73,7 @@ pub mod spec { /// /// Implementors should inline this. #[inline] - fn body(&self) -> Option { + fn body(&self) -> Option> { None } diff --git a/cloudflare/src/framework/mod.rs b/cloudflare/src/framework/mod.rs index 6740be2d..c5cbfb5e 100644 --- a/cloudflare/src/framework/mod.rs +++ b/cloudflare/src/framework/mod.rs @@ -44,7 +44,7 @@ pub enum Environment { Custom(String), } -impl<'a> From<&'a Environment> for url::Url { +impl From<&Environment> for url::Url { fn from(environment: &Environment) -> Self { match environment { Environment::Production => { diff --git a/cloudflare/src/framework/response/mod.rs b/cloudflare/src/framework/response/mod.rs index 64c6f010..6c8b9604 100644 --- a/cloudflare/src/framework/response/mod.rs +++ b/cloudflare/src/framework/response/mod.rs @@ -4,18 +4,22 @@ pub use api_fail::*; use serde::de::DeserializeOwned; use serde::{Deserialize, Serialize}; use serde_json::value::Value as JsonValue; +use serde_with::{serde_as, DefaultOnNull}; use std::collections::HashMap; use std::error::Error; use std::fmt; use std::fmt::Debug; +#[serde_as] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq)] pub struct ApiSuccess { pub result: ResultType, pub result_info: Option, #[serde(default)] + #[serde_as(deserialize_as = "DefaultOnNull")] pub messages: Vec, #[serde(default)] + #[serde_as(deserialize_as = "DefaultOnNull")] pub errors: Vec, }