Skip to content

Commit 9eb93e1

Browse files
authored
Support accept events from server (#32)
* feat: support event analysis feature
1 parent e18aa1e commit 9eb93e1

File tree

4 files changed

+13
-7
lines changed

4 files changed

+13
-7
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
edition = "2021"
33
name = "feature-probe-server-sdk"
4-
version = "1.2.9"
4+
version = "1.2.10"
55
license = "Apache-2.0"
66
authors = ["maintain@featureprobe.com"]
77
description = "FeatureProbe Server Side SDK for Rust"

src/evaluate.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ impl Distribution {
109109
fn salt_hash(key: &str, salt: &str, bucket_size: u64) -> u32 {
110110
let size = 4;
111111
let mut hasher = sha1::Sha1::new();
112-
let data = format!("{}{}", key, salt);
112+
let data = format!("{key}{salt}");
113113
hasher.update(data);
114114
let hax_value = hasher.finalize();
115115
let mut v = Vec::with_capacity(size);
@@ -145,6 +145,8 @@ pub struct EvalDetail<T> {
145145
pub struct Toggle {
146146
key: String,
147147
enabled: bool,
148+
track_access_events: Option<bool>,
149+
last_modified: Option<u64>,
148150
version: u64,
149151
for_client: bool,
150152
disabled_serve: Serve,
@@ -211,7 +213,7 @@ impl Toggle {
211213
variation_index: Some(v.index),
212214
rule_index: Some(i),
213215
version: Some(self.version),
214-
reason: format!("rule {}", i),
216+
reason: format!("rule {i}"),
215217
};
216218
}
217219
}
@@ -220,7 +222,7 @@ impl Toggle {
220222
return EvalDetail {
221223
rule_index: Some(i),
222224
version: Some(self.version),
223-
reason: format!("{:?}", e),
225+
reason: format!("{e:?}"),
224226
..Default::default()
225227
};
226228
}
@@ -237,7 +239,7 @@ impl Toggle {
237239
},
238240
Err(e) => EvalDetail {
239241
version: Some(self.version),
240-
reason: format!("{:?}", e),
242+
reason: format!("{e:?}"),
241243
..Default::default()
242244
},
243245
}
@@ -265,6 +267,8 @@ impl Toggle {
265267
Self {
266268
key,
267269
enabled: true,
270+
track_access_events: None,
271+
last_modified: None,
268272
default_serve: Serve::Select(0),
269273
disabled_serve: Serve::Select(0),
270274
variations: vec![val],
@@ -483,6 +487,7 @@ impl Segment {
483487
pub struct Repository {
484488
pub segments: HashMap<String, Segment>,
485489
pub toggles: HashMap<String, Toggle>,
490+
pub events: Option<Value>,
486491
// TODO: remove option next release
487492
pub version: Option<u128>,
488493
}
@@ -492,6 +497,7 @@ impl Default for Repository {
492497
Repository {
493498
segments: Default::default(),
494499
toggles: Default::default(),
500+
events: Default::default(),
495501
version: Some(0),
496502
}
497503
}

src/feature_probe.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ impl FeatureProbe {
171171
let (value, reason, detail) = match self.eval_detail(toggle, user) {
172172
None => (
173173
default,
174-
Some(format!("Toggle:[{}] not exist", toggle)),
174+
Some(format!("Toggle:[{toggle}] not exist")),
175175
Default::default(),
176176
),
177177
Some(mut d) => match d.value.take() {

0 commit comments

Comments
 (0)