aws_smithy_checksums/body/
cache.rs1use http::HeaderMap;
9use std::sync::{Arc, Mutex};
10
11#[derive(Debug, Clone)]
13pub struct ChecksumCache {
14    inner: Arc<Mutex<Option<HeaderMap>>>,
15}
16
17impl ChecksumCache {
18    pub fn new() -> Self {
20        Self {
21            inner: Arc::new(Mutex::new(None)),
22        }
23    }
24
25    pub fn get(&self) -> Option<HeaderMap> {
27        self.inner.lock().unwrap().clone()
28    }
29
30    pub fn set(&self, headers: HeaderMap) {
32        let mut inner = self.inner.lock().unwrap();
33        *inner = Some(headers);
34    }
35}
36
37impl Default for ChecksumCache {
38    fn default() -> Self {
39        Self::new()
40    }
41}