azure_core/request_options/
source_lease_id.rs
1use crate::headers::{self, Header};
2use std::str::FromStr;
3use uuid::Uuid;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6pub struct SourceLeaseId(Uuid);
7
8impl std::fmt::Display for SourceLeaseId {
9 fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
10 self.0.fmt(fmt)
11 }
12}
13
14impl std::str::FromStr for SourceLeaseId {
15 type Err = <Uuid as FromStr>::Err;
16
17 fn from_str(s: &str) -> Result<Self, Self::Err> {
18 Ok(Self(uuid::Uuid::from_str(s)?))
19 }
20}
21
22impl Header for SourceLeaseId {
23 fn name(&self) -> headers::HeaderName {
24 headers::SOURCE_LEASE_ID
25 }
26
27 fn value(&self) -> headers::HeaderValue {
28 self.0.to_string().into()
29 }
30}