millipede_fingerprint/
browser_fingerprint.rs1use crate::{HeaderGenerator, HeaderProfile};
2
3#[derive(Debug, Clone, Default)]
9pub struct BrowserFingerprintGenerator {
10 headers: HeaderGenerator,
11}
12
13impl BrowserFingerprintGenerator {
14 pub fn new() -> Self {
16 Self::default()
17 }
18
19 pub fn generate(&self, seed: &str) -> HeaderProfile {
21 self.headers.generate(seed)
22 }
23}
24
25#[cfg(test)]
26mod tests {
27 use crate::HeaderGenerator;
28
29 use super::BrowserFingerprintGenerator;
30
31 #[test]
32 fn generate_delegates_deterministically() {
33 let seed = "session-A";
34
35 assert_eq!(
36 BrowserFingerprintGenerator::new().generate(seed),
37 HeaderGenerator::new().generate(seed)
38 );
39 }
40}