use super::*;
use crate::structures::fingerprint_structs::*;
pub fn cf_fingerprint(bytes: &[u8]) -> usize {
let bytes = bytes
.iter()
.filter(|x| !matches!(x, 9 | 10 | 13 | 32))
.copied()
.collect::<Vec<u8>>();
murmur2::murmur2(&bytes, 1) as usize
}
impl Furse {
pub async fn get_fingerprint_matches(
&self,
fingerprints: Vec<usize>,
) -> Result<FingerprintMatches> {
#[derive(serde::Serialize)]
#[serde(rename_all = "camelCase")]
struct GetFingerprintMatchesRequestBody {
fingerprints: Vec<usize>,
}
Ok(self
.post(
API_URL_BASE.join("fingerprints")?,
&GetFingerprintMatchesRequestBody { fingerprints },
)
.await?
.data)
}
}