From c09ebccbdad653e182a01f33f630c1fa5f9d638c Mon Sep 17 00:00:00 2001 From: James Hodgkinson Date: Thu, 12 Aug 2021 09:13:33 +1000 Subject: [PATCH] adding useragent based on client version (#564) --- kanidm_client/src/lib.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/kanidm_client/src/lib.rs b/kanidm_client/src/lib.rs index a416a57c8..115453a7e 100644 --- a/kanidm_client/src/lib.rs +++ b/kanidm_client/src/lib.rs @@ -301,11 +301,19 @@ impl KanidmClientBuilder { } } - // Consume self and return a client. + /// Generates a useragent header based on the package name and version + pub fn user_agent() -> &'static str { + static APP_USER_AGENT: &str = + concat!(env!("CARGO_PKG_NAME"), "/", env!("CARGO_PKG_VERSION"),); + APP_USER_AGENT + } + + /// Consume self and return an async client. pub fn build(self) -> Result { self.build_async().map(|asclient| KanidmClient { asclient }) } + /// Async client pub fn build_async(self) -> Result { // Errghh, how to handle this cleaner. let address = match &self.address { @@ -319,6 +327,7 @@ impl KanidmClientBuilder { self.display_warnings(address.as_str()); let client_builder = reqwest::Client::builder() + .user_agent(KanidmClientBuilder::user_agent()) .danger_accept_invalid_hostnames(!self.verify_hostnames) .danger_accept_invalid_certs(!self.verify_ca);