Skip to content

Commit a1f27a9

Browse files
committed
feat: add user-agent in http request
1 parent ce48c88 commit a1f27a9

File tree

5 files changed

+22
-5
lines changed

5 files changed

+22
-5
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ thiserror = "1.0"
4343
tracing = "0.1"
4444
url = "2"
4545

46-
feature-probe-event-std = { optional = true, version = "1.0.2", package="feature-probe-event" }
47-
feature-probe-event-tokio = { optional = true, version = "1.0.2", features=["use_tokio"], default-features=false, package="feature-probe-event" }
46+
feature-probe-event-std = { optional = true, version = "1.0.3", package="feature-probe-event" }
47+
feature-probe-event-tokio = { optional = true, version = "1.0.3", features=["use_tokio"], default-features=false, package="feature-probe-event" }
4848

4949
reqwest = { optional = true, version = "0.11", default-features = false, features = ["rustls-tls", "json"] }
5050
tokio = {optional = true, version = "1", features = ["full"]}

src/feature_probe.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,13 @@ impl FeatureProbe {
199199
};
200200
let flush_interval = self.config.refresh_interval;
201201
let auth = SdkAuthorization(self.config.server_sdk_key.clone()).encode();
202-
let event_recorder = EventRecorder::new(events_url, auth, flush_interval, 100);
202+
let event_recorder = EventRecorder::new(
203+
events_url,
204+
auth,
205+
(*crate::USER_AGENT).clone(),
206+
flush_interval,
207+
100,
208+
);
203209
self.event_recorder = Some(event_recorder);
204210
Ok(())
205211
}

src/lib.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,18 @@ pub use crate::feature_probe::{FPConfig, FeatureProbe};
88
pub use crate::user::FPUser;
99
use headers::{Error, Header, HeaderName, HeaderValue};
1010
use http::header::AUTHORIZATION;
11+
use lazy_static::lazy_static;
1112
use serde::{Deserialize, Serialize};
1213
use std::fmt::Debug;
1314
use thiserror::Error;
1415
pub use url::Url;
1516

17+
lazy_static! {
18+
pub(crate) static ref USER_AGENT: String = "Rust/".to_owned() + VERSION;
19+
}
20+
21+
const VERSION: &str = env!("CARGO_PKG_VERSION");
22+
1623
#[derive(Serialize, Deserialize, Debug, PartialEq, Default)]
1724
#[serde(rename_all = "camelCase")]
1825
pub struct FPDetail<T: Default + Debug> {

src/sync.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,12 @@ impl Synchronizer {
9797
impl Inner {
9898
#[cfg(feature = "use_tokio")]
9999
async fn do_sync(&self, client: &Client) {
100+
use http::header::USER_AGENT;
101+
100102
let request = client
101103
.request(Method::GET, self.toggles_url.clone())
102104
.header(AUTHORIZATION, self.auth.clone())
105+
.header(USER_AGENT, &*crate::USER_AGENT)
103106
.timeout(self.refresh_interval);
104107

105108
//TODO: report failure
@@ -129,6 +132,7 @@ impl Inner {
129132
"authorization",
130133
self.auth.to_str().expect("already valid header value"),
131134
)
135+
.set("user-agent", &*crate::USER_AGENT)
132136
.timeout(self.refresh_interval)
133137
.call()
134138
{

0 commit comments

Comments
 (0)