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}