azure_core/request_options/
if_modified_since_condition.rs

1use crate::{
2    date,
3    headers::{self, Header, HeaderName},
4};
5use time::OffsetDateTime;
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
8pub enum IfModifiedSinceCondition {
9    Modified(OffsetDateTime),
10    Unmodified(OffsetDateTime),
11}
12
13impl Header for IfModifiedSinceCondition {
14    fn name(&self) -> HeaderName {
15        match self {
16            IfModifiedSinceCondition::Modified(_) => headers::IF_MODIFIED_SINCE,
17            IfModifiedSinceCondition::Unmodified(_) => headers::IF_UNMODIFIED_SINCE,
18        }
19    }
20
21    fn value(&self) -> headers::HeaderValue {
22        match self {
23            IfModifiedSinceCondition::Modified(date)
24            | IfModifiedSinceCondition::Unmodified(date) => date::to_rfc1123(date),
25        }
26        .into()
27    }
28}