use super::{
AccountKind, AppendBlobClientAppendBlockFromUrlResult, AppendBlobClientAppendBlockResult,
AppendBlobClientCreateResult, AppendBlobClientSealResult, ArchiveStatus,
BlobClientAcquireLeaseResult, BlobClientBreakLeaseResult, BlobClientChangeLeaseResult,
BlobClientCreateSnapshotResult, BlobClientDownloadInternalResult,
BlobClientGetAccountInfoResult, BlobClientGetPropertiesResult, BlobClientReleaseLeaseResult,
BlobClientRenewLeaseResult, BlobContainerClientAcquireLeaseResult,
BlobContainerClientBreakLeaseResult, BlobContainerClientChangeLeaseResult,
BlobContainerClientGetAccountInfoResult, BlobContainerClientGetPropertiesResult,
BlobContainerClientReleaseLeaseResult, BlobContainerClientRenewLeaseResult,
BlobServiceClientGetAccountInfoResult, BlobType, BlockBlobClientCommitBlockListResult,
BlockBlobClientStageBlockFromUrlResult, BlockBlobClientStageBlockResult,
BlockBlobClientUploadBlobFromUrlResult, BlockBlobClientUploadInternalResult, BlockList,
CopyStatus, ImmutabilityPolicyMode, LeaseDuration, LeaseState, LeaseStatus,
PageBlobClientClearPagesResult, PageBlobClientCreateResult, PageBlobClientResizeResult,
PageBlobClientSetSequenceNumberResult, PageBlobClientUploadPagesFromUrlResult,
PageBlobClientUploadPagesResult, PageList, PublicAccessType, RehydratePriority,
SignedIdentifiers, SkuName,
};
use azure_core::{
base64,
http::{
headers::{HeaderName, Headers},
AsyncResponse, Etag, NoFormat, Response, XmlFormat,
},
time::{parse_rfc7231, OffsetDateTime},
Result,
};
use std::collections::HashMap;
const ACCESS_TIER: HeaderName = HeaderName::from_static("x-ms-access-tier");
const ACCESS_TIER_CHANGE_TIME: HeaderName = HeaderName::from_static("x-ms-access-tier-change-time");
const ACCESS_TIER_INFERRED: HeaderName = HeaderName::from_static("x-ms-access-tier-inferred");
const ACCOUNT_KIND: HeaderName = HeaderName::from_static("x-ms-account-kind");
const ARCHIVE_STATUS: HeaderName = HeaderName::from_static("x-ms-archive-status");
const BLOB_APPEND_OFFSET: HeaderName = HeaderName::from_static("x-ms-blob-append-offset");
const BLOB_COMMITTED_BLOCK_COUNT: HeaderName =
HeaderName::from_static("x-ms-blob-committed-block-count");
const BLOB_CONTENT_LENGTH: HeaderName = HeaderName::from_static("x-ms-blob-content-length");
const BLOB_CONTENT_MD5: HeaderName = HeaderName::from_static("x-ms-blob-content-md5");
const BLOB_PUBLIC_ACCESS: HeaderName = HeaderName::from_static("x-ms-blob-public-access");
const BLOB_SEALED: HeaderName = HeaderName::from_static("x-ms-blob-sealed");
const BLOB_SEQUENCE_NUMBER: HeaderName = HeaderName::from_static("x-ms-blob-sequence-number");
const BLOB_TYPE: HeaderName = HeaderName::from_static("x-ms-blob-type");
const CACHE_CONTROL: HeaderName = HeaderName::from_static("cache-control");
const CONTENT_CRC64: HeaderName = HeaderName::from_static("x-ms-content-crc64");
const CONTENT_DISPOSITION: HeaderName = HeaderName::from_static("content-disposition");
const CONTENT_ENCODING: HeaderName = HeaderName::from_static("content-encoding");
const CONTENT_LANGUAGE: HeaderName = HeaderName::from_static("content-language");
const CONTENT_LENGTH: HeaderName = HeaderName::from_static("content-length");
const CONTENT_MD5: HeaderName = HeaderName::from_static("content-md5");
const CONTENT_RANGE: HeaderName = HeaderName::from_static("content-range");
const CONTENT_TYPE: HeaderName = HeaderName::from_static("content-type");
const COPY_COMPLETION_TIME: HeaderName = HeaderName::from_static("x-ms-copy-completion-time");
const COPY_DESTINATION_SNAPSHOT: HeaderName =
HeaderName::from_static("x-ms-copy-destination-snapshot");
const COPY_ID: HeaderName = HeaderName::from_static("x-ms-copy-id");
const COPY_PROGRESS: HeaderName = HeaderName::from_static("x-ms-copy-progress");
const COPY_SOURCE: HeaderName = HeaderName::from_static("x-ms-copy-source");
const COPY_STATUS: HeaderName = HeaderName::from_static("x-ms-copy-status");
const COPY_STATUS_DESCRIPTION: HeaderName = HeaderName::from_static("x-ms-copy-status-description");
const CREATION_TIME: HeaderName = HeaderName::from_static("x-ms-creation-time");
const DEFAULT_ENCRYPTION_SCOPE: HeaderName =
HeaderName::from_static("x-ms-default-encryption-scope");
const DENY_ENCRYPTION_SCOPE_OVERRIDE: HeaderName =
HeaderName::from_static("x-ms-deny-encryption-scope-override");
const ENCRYPTION_KEY_SHA256: HeaderName = HeaderName::from_static("x-ms-encryption-key-sha256");
const ENCRYPTION_SCOPE: HeaderName = HeaderName::from_static("x-ms-encryption-scope");
const ETAG: HeaderName = HeaderName::from_static("etag");
const EXPIRY_TIME: HeaderName = HeaderName::from_static("x-ms-expiry-time");
const HAS_IMMUTABILITY_POLICY: HeaderName = HeaderName::from_static("x-ms-has-immutability-policy");
const HAS_LEGAL_HOLD: HeaderName = HeaderName::from_static("x-ms-has-legal-hold");
const IMMUTABILITY_POLICY_MODE: HeaderName =
HeaderName::from_static("x-ms-immutability-policy-mode");
const IMMUTABILITY_POLICY_UNTIL_DATE: HeaderName =
HeaderName::from_static("x-ms-immutability-policy-until-date");
const IMMUTABLE_STORAGE_WITH_VERSIONING_ENABLED: HeaderName =
HeaderName::from_static("x-ms-immutable-storage-with-versioning-enabled");
const INCREMENTAL_COPY: HeaderName = HeaderName::from_static("x-ms-incremental-copy");
const IS_CURRENT_VERSION: HeaderName = HeaderName::from_static("x-ms-is-current-version");
const IS_HNS_ENABLED: HeaderName = HeaderName::from_static("x-ms-is-hns-enabled");
const LAST_ACCESS_TIME: HeaderName = HeaderName::from_static("x-ms-last-access-time");
const LAST_MODIFIED: HeaderName = HeaderName::from_static("last-modified");
const LEASE_DURATION: HeaderName = HeaderName::from_static("x-ms-lease-duration");
const LEASE_ID: HeaderName = HeaderName::from_static("x-ms-lease-id");
const LEASE_STATE: HeaderName = HeaderName::from_static("x-ms-lease-state");
const LEASE_STATUS: HeaderName = HeaderName::from_static("x-ms-lease-status");
const LEASE_TIME: HeaderName = HeaderName::from_static("x-ms-lease-time");
const LEGAL_HOLD: HeaderName = HeaderName::from_static("x-ms-legal-hold");
const META: &str = "x-ms-meta-";
const OR: &str = "x-ms-or-";
const OR_POLICY_ID: HeaderName = HeaderName::from_static("x-ms-or-policy-id");
const REHYDRATE_PRIORITY: HeaderName = HeaderName::from_static("x-ms-rehydrate-priority");
const REQUEST_SERVER_ENCRYPTED: HeaderName =
HeaderName::from_static("x-ms-request-server-encrypted");
const SERVER_ENCRYPTED: HeaderName = HeaderName::from_static("x-ms-server-encrypted");
const SKU_NAME: HeaderName = HeaderName::from_static("x-ms-sku-name");
const SNAPSHOT: HeaderName = HeaderName::from_static("x-ms-snapshot");
const TAG_COUNT: HeaderName = HeaderName::from_static("x-ms-tag-count");
const VERSION_ID: HeaderName = HeaderName::from_static("x-ms-version-id");
pub trait AppendBlobClientAppendBlockFromUrlResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_append_offset(&self) -> Result<Option<String>>;
fn blob_committed_block_count(&self) -> Result<Option<i32>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
}
impl AppendBlobClientAppendBlockFromUrlResultHeaders
for Response<AppendBlobClientAppendBlockFromUrlResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_append_offset(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &BLOB_APPEND_OFFSET)
}
fn blob_committed_block_count(&self) -> Result<Option<i32>> {
Headers::get_optional_as(self.headers(), &BLOB_COMMITTED_BLOCK_COUNT)
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
}
pub trait AppendBlobClientAppendBlockResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_append_offset(&self) -> Result<Option<String>>;
fn blob_committed_block_count(&self) -> Result<Option<i32>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
}
impl AppendBlobClientAppendBlockResultHeaders
for Response<AppendBlobClientAppendBlockResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_append_offset(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &BLOB_APPEND_OFFSET)
}
fn blob_committed_block_count(&self) -> Result<Option<i32>> {
Headers::get_optional_as(self.headers(), &BLOB_COMMITTED_BLOCK_COUNT)
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
}
pub trait AppendBlobClientCreateResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl AppendBlobClientCreateResultHeaders for Response<AppendBlobClientCreateResult, NoFormat> {
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait AppendBlobClientSealResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn is_sealed(&self) -> Result<Option<bool>>;
}
impl AppendBlobClientSealResultHeaders for Response<AppendBlobClientSealResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn is_sealed(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &BLOB_SEALED)
}
}
pub trait BlobClientAcquireLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_id(&self) -> Result<Option<String>>;
}
impl BlobClientAcquireLeaseResultHeaders for Response<BlobClientAcquireLeaseResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &LEASE_ID)
}
}
pub trait BlobClientBreakLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_time(&self) -> Result<Option<i32>>;
}
impl BlobClientBreakLeaseResultHeaders for Response<BlobClientBreakLeaseResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_time(&self) -> Result<Option<i32>> {
Headers::get_optional_as(self.headers(), &LEASE_TIME)
}
}
pub trait BlobClientChangeLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_id(&self) -> Result<Option<String>>;
}
impl BlobClientChangeLeaseResultHeaders for Response<BlobClientChangeLeaseResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &LEASE_ID)
}
}
pub trait BlobClientCreateSnapshotResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn snapshot(&self) -> Result<Option<String>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl BlobClientCreateSnapshotResultHeaders for Response<BlobClientCreateSnapshotResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
fn snapshot(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &SNAPSHOT)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait BlobClientDownloadInternalResultHeaders: private::Sealed {
fn cache_control(&self) -> Result<Option<String>>;
fn content_disposition(&self) -> Result<Option<String>>;
fn content_encoding(&self) -> Result<Option<String>>;
fn content_language(&self) -> Result<Option<String>>;
fn content_length(&self) -> Result<Option<u64>>;
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn content_range(&self) -> Result<Option<String>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_committed_block_count(&self) -> Result<Option<i32>>;
fn blob_content_md5(&self) -> Result<Option<Vec<u8>>>;
fn is_sealed(&self) -> Result<Option<bool>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
fn blob_type(&self) -> Result<Option<BlobType>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn copy_completion_time(&self) -> Result<Option<OffsetDateTime>>;
fn copy_id(&self) -> Result<Option<String>>;
fn copy_progress(&self) -> Result<Option<String>>;
fn copy_source(&self) -> Result<Option<String>>;
fn copy_status(&self) -> Result<Option<CopyStatus>>;
fn copy_status_description(&self) -> Result<Option<String>>;
fn creation_time(&self) -> Result<Option<OffsetDateTime>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn immutability_policy_mode(&self) -> Result<Option<ImmutabilityPolicyMode>>;
fn immutability_policy_expires_on(&self) -> Result<Option<OffsetDateTime>>;
fn is_current_version(&self) -> Result<Option<bool>>;
fn last_accessed(&self) -> Result<Option<OffsetDateTime>>;
fn duration(&self) -> Result<Option<LeaseDuration>>;
fn lease_state(&self) -> Result<Option<LeaseState>>;
fn lease_status(&self) -> Result<Option<LeaseStatus>>;
fn legal_hold(&self) -> Result<Option<bool>>;
fn metadata(&self) -> Result<HashMap<String, String>>;
fn object_replication_rules(&self) -> Result<HashMap<String, String>>;
fn object_replication_policy_id(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn tag_count(&self) -> Result<Option<i64>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl BlobClientDownloadInternalResultHeaders for AsyncResponse<BlobClientDownloadInternalResult> {
fn cache_control(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CACHE_CONTROL)
}
fn content_disposition(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_DISPOSITION)
}
fn content_encoding(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_ENCODING)
}
fn content_language(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_LANGUAGE)
}
fn content_length(&self) -> Result<Option<u64>> {
Headers::get_optional_as(self.headers(), &CONTENT_LENGTH)
}
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn content_range(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_RANGE)
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_committed_block_count(&self) -> Result<Option<i32>> {
Headers::get_optional_as(self.headers(), &BLOB_COMMITTED_BLOCK_COUNT)
}
fn blob_content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &BLOB_CONTENT_MD5, |h| {
base64::decode(h.as_str())
})
}
fn is_sealed(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &BLOB_SEALED)
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
fn blob_type(&self) -> Result<Option<BlobType>> {
Headers::get_optional_as(self.headers(), &BLOB_TYPE)
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn copy_completion_time(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), ©_COMPLETION_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn copy_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_ID)
}
fn copy_progress(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_PROGRESS)
}
fn copy_source(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_SOURCE)
}
fn copy_status(&self) -> Result<Option<CopyStatus>> {
Headers::get_optional_as(self.headers(), ©_STATUS)
}
fn copy_status_description(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_STATUS_DESCRIPTION)
}
fn creation_time(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &CREATION_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn immutability_policy_mode(&self) -> Result<Option<ImmutabilityPolicyMode>> {
Headers::get_optional_as(self.headers(), &IMMUTABILITY_POLICY_MODE)
}
fn immutability_policy_expires_on(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &IMMUTABILITY_POLICY_UNTIL_DATE, |h| {
parse_rfc7231(h.as_str())
})
}
fn is_current_version(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &IS_CURRENT_VERSION)
}
fn last_accessed(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_ACCESS_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn duration(&self) -> Result<Option<LeaseDuration>> {
Headers::get_optional_as(self.headers(), &LEASE_DURATION)
}
fn lease_state(&self) -> Result<Option<LeaseState>> {
Headers::get_optional_as(self.headers(), &LEASE_STATE)
}
fn lease_status(&self) -> Result<Option<LeaseStatus>> {
Headers::get_optional_as(self.headers(), &LEASE_STATUS)
}
fn legal_hold(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &LEGAL_HOLD)
}
fn metadata(&self) -> Result<HashMap<String, String>> {
let mut values = HashMap::new();
for h in self.headers().iter() {
let name = h.0.as_str();
if name.len() > META.len() && name.starts_with(META) {
values.insert(name[META.len()..].to_owned(), h.1.as_str().to_owned());
}
}
Ok(values)
}
fn object_replication_rules(&self) -> Result<HashMap<String, String>> {
let mut values = HashMap::new();
for h in self.headers().iter() {
let name = h.0.as_str();
if name.len() > OR.len() && name.starts_with(OR) {
values.insert(name[OR.len()..].to_owned(), h.1.as_str().to_owned());
}
}
Ok(values)
}
fn object_replication_policy_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &OR_POLICY_ID)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &SERVER_ENCRYPTED)
}
fn tag_count(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &TAG_COUNT)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait BlobClientGetAccountInfoResultHeaders: private::Sealed {
fn account_kind(&self) -> Result<Option<AccountKind>>;
fn is_hierarchical_namespace_enabled(&self) -> Result<Option<bool>>;
fn sku_name(&self) -> Result<Option<SkuName>>;
}
impl BlobClientGetAccountInfoResultHeaders for Response<BlobClientGetAccountInfoResult, NoFormat> {
fn account_kind(&self) -> Result<Option<AccountKind>> {
Headers::get_optional_as(self.headers(), &ACCOUNT_KIND)
}
fn is_hierarchical_namespace_enabled(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &IS_HNS_ENABLED)
}
fn sku_name(&self) -> Result<Option<SkuName>> {
Headers::get_optional_as(self.headers(), &SKU_NAME)
}
}
pub trait BlobClientGetPropertiesResultHeaders: private::Sealed {
fn cache_control(&self) -> Result<Option<String>>;
fn content_disposition(&self) -> Result<Option<String>>;
fn content_encoding(&self) -> Result<Option<String>>;
fn content_language(&self) -> Result<Option<String>>;
fn content_length(&self) -> Result<Option<u64>>;
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn content_type(&self) -> Result<Option<String>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn access_tier(&self) -> Result<Option<String>>;
fn access_tier_change_time(&self) -> Result<Option<OffsetDateTime>>;
fn access_tier_inferred(&self) -> Result<Option<bool>>;
fn archive_status(&self) -> Result<Option<ArchiveStatus>>;
fn blob_committed_block_count(&self) -> Result<Option<i32>>;
fn is_sealed(&self) -> Result<Option<bool>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
fn blob_type(&self) -> Result<Option<BlobType>>;
fn copy_completion_time(&self) -> Result<Option<OffsetDateTime>>;
fn destination_snapshot(&self) -> Result<Option<String>>;
fn copy_id(&self) -> Result<Option<String>>;
fn copy_progress(&self) -> Result<Option<String>>;
fn copy_source(&self) -> Result<Option<String>>;
fn copy_status(&self) -> Result<Option<CopyStatus>>;
fn copy_status_description(&self) -> Result<Option<String>>;
fn creation_time(&self) -> Result<Option<OffsetDateTime>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn expires_on(&self) -> Result<Option<OffsetDateTime>>;
fn immutability_policy_mode(&self) -> Result<Option<ImmutabilityPolicyMode>>;
fn immutability_policy_expires_on(&self) -> Result<Option<OffsetDateTime>>;
fn is_incremental_copy(&self) -> Result<Option<bool>>;
fn is_current_version(&self) -> Result<Option<bool>>;
fn last_accessed(&self) -> Result<Option<OffsetDateTime>>;
fn duration(&self) -> Result<Option<LeaseDuration>>;
fn lease_state(&self) -> Result<Option<LeaseState>>;
fn lease_status(&self) -> Result<Option<LeaseStatus>>;
fn legal_hold(&self) -> Result<Option<bool>>;
fn metadata(&self) -> Result<HashMap<String, String>>;
fn object_replication_rules(&self) -> Result<HashMap<String, String>>;
fn object_replication_policy_id(&self) -> Result<Option<String>>;
fn rehydrate_priority(&self) -> Result<Option<RehydratePriority>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn tag_count(&self) -> Result<Option<i64>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl BlobClientGetPropertiesResultHeaders for Response<BlobClientGetPropertiesResult, NoFormat> {
fn cache_control(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CACHE_CONTROL)
}
fn content_disposition(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_DISPOSITION)
}
fn content_encoding(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_ENCODING)
}
fn content_language(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_LANGUAGE)
}
fn content_length(&self) -> Result<Option<u64>> {
Headers::get_optional_as(self.headers(), &CONTENT_LENGTH)
}
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn content_type(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &CONTENT_TYPE)
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn access_tier(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ACCESS_TIER)
}
fn access_tier_change_time(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &ACCESS_TIER_CHANGE_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn access_tier_inferred(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &ACCESS_TIER_INFERRED)
}
fn archive_status(&self) -> Result<Option<ArchiveStatus>> {
Headers::get_optional_as(self.headers(), &ARCHIVE_STATUS)
}
fn blob_committed_block_count(&self) -> Result<Option<i32>> {
Headers::get_optional_as(self.headers(), &BLOB_COMMITTED_BLOCK_COUNT)
}
fn is_sealed(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &BLOB_SEALED)
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
fn blob_type(&self) -> Result<Option<BlobType>> {
Headers::get_optional_as(self.headers(), &BLOB_TYPE)
}
fn copy_completion_time(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), ©_COMPLETION_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn destination_snapshot(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_DESTINATION_SNAPSHOT)
}
fn copy_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_ID)
}
fn copy_progress(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_PROGRESS)
}
fn copy_source(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_SOURCE)
}
fn copy_status(&self) -> Result<Option<CopyStatus>> {
Headers::get_optional_as(self.headers(), ©_STATUS)
}
fn copy_status_description(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), ©_STATUS_DESCRIPTION)
}
fn creation_time(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &CREATION_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn expires_on(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &EXPIRY_TIME, |h| parse_rfc7231(h.as_str()))
}
fn immutability_policy_mode(&self) -> Result<Option<ImmutabilityPolicyMode>> {
Headers::get_optional_as(self.headers(), &IMMUTABILITY_POLICY_MODE)
}
fn immutability_policy_expires_on(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &IMMUTABILITY_POLICY_UNTIL_DATE, |h| {
parse_rfc7231(h.as_str())
})
}
fn is_incremental_copy(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &INCREMENTAL_COPY)
}
fn is_current_version(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &IS_CURRENT_VERSION)
}
fn last_accessed(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_ACCESS_TIME, |h| {
parse_rfc7231(h.as_str())
})
}
fn duration(&self) -> Result<Option<LeaseDuration>> {
Headers::get_optional_as(self.headers(), &LEASE_DURATION)
}
fn lease_state(&self) -> Result<Option<LeaseState>> {
Headers::get_optional_as(self.headers(), &LEASE_STATE)
}
fn lease_status(&self) -> Result<Option<LeaseStatus>> {
Headers::get_optional_as(self.headers(), &LEASE_STATUS)
}
fn legal_hold(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &LEGAL_HOLD)
}
fn metadata(&self) -> Result<HashMap<String, String>> {
let mut values = HashMap::new();
for h in self.headers().iter() {
let name = h.0.as_str();
if name.len() > META.len() && name.starts_with(META) {
values.insert(name[META.len()..].to_owned(), h.1.as_str().to_owned());
}
}
Ok(values)
}
fn object_replication_rules(&self) -> Result<HashMap<String, String>> {
let mut values = HashMap::new();
for h in self.headers().iter() {
let name = h.0.as_str();
if name.len() > OR.len() && name.starts_with(OR) {
values.insert(name[OR.len()..].to_owned(), h.1.as_str().to_owned());
}
}
Ok(values)
}
fn object_replication_policy_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &OR_POLICY_ID)
}
fn rehydrate_priority(&self) -> Result<Option<RehydratePriority>> {
Headers::get_optional_as(self.headers(), &REHYDRATE_PRIORITY)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &SERVER_ENCRYPTED)
}
fn tag_count(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &TAG_COUNT)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait BlobClientReleaseLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
}
impl BlobClientReleaseLeaseResultHeaders for Response<BlobClientReleaseLeaseResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
}
pub trait BlobClientRenewLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_id(&self) -> Result<Option<String>>;
}
impl BlobClientRenewLeaseResultHeaders for Response<BlobClientRenewLeaseResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &LEASE_ID)
}
}
pub trait BlobContainerClientAcquireLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_id(&self) -> Result<Option<String>>;
}
impl BlobContainerClientAcquireLeaseResultHeaders
for Response<BlobContainerClientAcquireLeaseResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &LEASE_ID)
}
}
pub trait BlobContainerClientBreakLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_time(&self) -> Result<Option<i32>>;
}
impl BlobContainerClientBreakLeaseResultHeaders
for Response<BlobContainerClientBreakLeaseResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_time(&self) -> Result<Option<i32>> {
Headers::get_optional_as(self.headers(), &LEASE_TIME)
}
}
pub trait BlobContainerClientChangeLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_id(&self) -> Result<Option<String>>;
}
impl BlobContainerClientChangeLeaseResultHeaders
for Response<BlobContainerClientChangeLeaseResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &LEASE_ID)
}
}
pub trait BlobContainerClientGetAccountInfoResultHeaders: private::Sealed {
fn account_kind(&self) -> Result<Option<AccountKind>>;
fn is_hierarchical_namespace_enabled(&self) -> Result<Option<bool>>;
fn sku_name(&self) -> Result<Option<SkuName>>;
}
impl BlobContainerClientGetAccountInfoResultHeaders
for Response<BlobContainerClientGetAccountInfoResult, NoFormat>
{
fn account_kind(&self) -> Result<Option<AccountKind>> {
Headers::get_optional_as(self.headers(), &ACCOUNT_KIND)
}
fn is_hierarchical_namespace_enabled(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &IS_HNS_ENABLED)
}
fn sku_name(&self) -> Result<Option<SkuName>> {
Headers::get_optional_as(self.headers(), &SKU_NAME)
}
}
pub trait BlobContainerClientGetPropertiesResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn access(&self) -> Result<Option<PublicAccessType>>;
fn default_encryption_scope(&self) -> Result<Option<String>>;
fn prevent_encryption_scope_override(&self) -> Result<Option<bool>>;
fn has_immutability_policy(&self) -> Result<Option<bool>>;
fn has_legal_hold(&self) -> Result<Option<bool>>;
fn is_immutable_storage_with_versioning_enabled(&self) -> Result<Option<bool>>;
fn duration(&self) -> Result<Option<LeaseDuration>>;
fn lease_state(&self) -> Result<Option<LeaseState>>;
fn lease_status(&self) -> Result<Option<LeaseStatus>>;
fn metadata(&self) -> Result<HashMap<String, String>>;
}
impl BlobContainerClientGetPropertiesResultHeaders
for Response<BlobContainerClientGetPropertiesResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn access(&self) -> Result<Option<PublicAccessType>> {
Headers::get_optional_as(self.headers(), &BLOB_PUBLIC_ACCESS)
}
fn default_encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &DEFAULT_ENCRYPTION_SCOPE)
}
fn prevent_encryption_scope_override(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &DENY_ENCRYPTION_SCOPE_OVERRIDE)
}
fn has_immutability_policy(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &HAS_IMMUTABILITY_POLICY)
}
fn has_legal_hold(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &HAS_LEGAL_HOLD)
}
fn is_immutable_storage_with_versioning_enabled(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &IMMUTABLE_STORAGE_WITH_VERSIONING_ENABLED)
}
fn duration(&self) -> Result<Option<LeaseDuration>> {
Headers::get_optional_as(self.headers(), &LEASE_DURATION)
}
fn lease_state(&self) -> Result<Option<LeaseState>> {
Headers::get_optional_as(self.headers(), &LEASE_STATE)
}
fn lease_status(&self) -> Result<Option<LeaseStatus>> {
Headers::get_optional_as(self.headers(), &LEASE_STATUS)
}
fn metadata(&self) -> Result<HashMap<String, String>> {
let mut values = HashMap::new();
for h in self.headers().iter() {
let name = h.0.as_str();
if name.len() > META.len() && name.starts_with(META) {
values.insert(name[META.len()..].to_owned(), h.1.as_str().to_owned());
}
}
Ok(values)
}
}
pub trait BlobContainerClientReleaseLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
}
impl BlobContainerClientReleaseLeaseResultHeaders
for Response<BlobContainerClientReleaseLeaseResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
}
pub trait BlobContainerClientRenewLeaseResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn lease_id(&self) -> Result<Option<String>>;
}
impl BlobContainerClientRenewLeaseResultHeaders
for Response<BlobContainerClientRenewLeaseResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn lease_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &LEASE_ID)
}
}
pub trait BlobServiceClientGetAccountInfoResultHeaders: private::Sealed {
fn account_kind(&self) -> Result<Option<AccountKind>>;
fn is_hierarchical_namespace_enabled(&self) -> Result<Option<bool>>;
fn sku_name(&self) -> Result<Option<SkuName>>;
}
impl BlobServiceClientGetAccountInfoResultHeaders
for Response<BlobServiceClientGetAccountInfoResult, NoFormat>
{
fn account_kind(&self) -> Result<Option<AccountKind>> {
Headers::get_optional_as(self.headers(), &ACCOUNT_KIND)
}
fn is_hierarchical_namespace_enabled(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &IS_HNS_ENABLED)
}
fn sku_name(&self) -> Result<Option<SkuName>> {
Headers::get_optional_as(self.headers(), &SKU_NAME)
}
}
pub trait BlockBlobClientCommitBlockListResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl BlockBlobClientCommitBlockListResultHeaders
for Response<BlockBlobClientCommitBlockListResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait BlockBlobClientStageBlockFromUrlResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
}
impl BlockBlobClientStageBlockFromUrlResultHeaders
for Response<BlockBlobClientStageBlockFromUrlResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
}
pub trait BlockBlobClientStageBlockResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
}
impl BlockBlobClientStageBlockResultHeaders
for Response<BlockBlobClientStageBlockResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
}
pub trait BlockBlobClientUploadBlobFromUrlResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl BlockBlobClientUploadBlobFromUrlResultHeaders
for Response<BlockBlobClientUploadBlobFromUrlResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait BlockBlobClientUploadInternalResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl BlockBlobClientUploadInternalResultHeaders
for Response<BlockBlobClientUploadInternalResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait BlockListHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_content_length(&self) -> Result<Option<i64>>;
}
impl BlockListHeaders for Response<BlockList, XmlFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_content_length(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_CONTENT_LENGTH)
}
}
pub trait PageBlobClientClearPagesResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
}
impl PageBlobClientClearPagesResultHeaders for Response<PageBlobClientClearPagesResult, NoFormat> {
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
}
pub trait PageBlobClientCreateResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
fn version_id(&self) -> Result<Option<String>>;
}
impl PageBlobClientCreateResultHeaders for Response<PageBlobClientCreateResult, NoFormat> {
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
fn version_id(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &VERSION_ID)
}
}
pub trait PageBlobClientResizeResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
}
impl PageBlobClientResizeResultHeaders for Response<PageBlobClientResizeResult, NoFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
}
pub trait PageBlobClientSetSequenceNumberResultHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
}
impl PageBlobClientSetSequenceNumberResultHeaders
for Response<PageBlobClientSetSequenceNumberResult, NoFormat>
{
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
}
pub trait PageBlobClientUploadPagesFromUrlResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
}
impl PageBlobClientUploadPagesFromUrlResultHeaders
for Response<PageBlobClientUploadPagesFromUrlResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
}
pub trait PageBlobClientUploadPagesResultHeaders: private::Sealed {
fn content_md5(&self) -> Result<Option<Vec<u8>>>;
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_sequence_number(&self) -> Result<Option<i64>>;
fn content_crc64(&self) -> Result<Option<Vec<u8>>>;
fn encryption_key_sha256(&self) -> Result<Option<String>>;
fn encryption_scope(&self) -> Result<Option<String>>;
fn is_server_encrypted(&self) -> Result<Option<bool>>;
}
impl PageBlobClientUploadPagesResultHeaders
for Response<PageBlobClientUploadPagesResult, NoFormat>
{
fn content_md5(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_MD5, |h| base64::decode(h.as_str()))
}
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_sequence_number(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_SEQUENCE_NUMBER)
}
fn content_crc64(&self) -> Result<Option<Vec<u8>>> {
Headers::get_optional_with(self.headers(), &CONTENT_CRC64, |h| {
base64::decode(h.as_str())
})
}
fn encryption_key_sha256(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_KEY_SHA256)
}
fn encryption_scope(&self) -> Result<Option<String>> {
Headers::get_optional_as(self.headers(), &ENCRYPTION_SCOPE)
}
fn is_server_encrypted(&self) -> Result<Option<bool>> {
Headers::get_optional_as(self.headers(), &REQUEST_SERVER_ENCRYPTED)
}
}
pub trait PageListHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn blob_content_length(&self) -> Result<Option<i64>>;
}
impl PageListHeaders for Response<PageList, XmlFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn blob_content_length(&self) -> Result<Option<i64>> {
Headers::get_optional_as(self.headers(), &BLOB_CONTENT_LENGTH)
}
}
pub trait SignedIdentifiersHeaders: private::Sealed {
fn etag(&self) -> Result<Option<Etag>>;
fn last_modified(&self) -> Result<Option<OffsetDateTime>>;
fn access(&self) -> Result<Option<PublicAccessType>>;
}
impl SignedIdentifiersHeaders for Response<SignedIdentifiers, XmlFormat> {
fn etag(&self) -> Result<Option<Etag>> {
Headers::get_optional_as(self.headers(), &ETAG)
}
fn last_modified(&self) -> Result<Option<OffsetDateTime>> {
Headers::get_optional_with(self.headers(), &LAST_MODIFIED, |h| {
parse_rfc7231(h.as_str())
})
}
fn access(&self) -> Result<Option<PublicAccessType>> {
Headers::get_optional_as(self.headers(), &BLOB_PUBLIC_ACCESS)
}
}
mod private {
use super::{
AppendBlobClientAppendBlockFromUrlResult, AppendBlobClientAppendBlockResult,
AppendBlobClientCreateResult, AppendBlobClientSealResult, BlobClientAcquireLeaseResult,
BlobClientBreakLeaseResult, BlobClientChangeLeaseResult, BlobClientCreateSnapshotResult,
BlobClientDownloadInternalResult, BlobClientGetAccountInfoResult,
BlobClientGetPropertiesResult, BlobClientReleaseLeaseResult, BlobClientRenewLeaseResult,
BlobContainerClientAcquireLeaseResult, BlobContainerClientBreakLeaseResult,
BlobContainerClientChangeLeaseResult, BlobContainerClientGetAccountInfoResult,
BlobContainerClientGetPropertiesResult, BlobContainerClientReleaseLeaseResult,
BlobContainerClientRenewLeaseResult, BlobServiceClientGetAccountInfoResult,
BlockBlobClientCommitBlockListResult, BlockBlobClientStageBlockFromUrlResult,
BlockBlobClientStageBlockResult, BlockBlobClientUploadBlobFromUrlResult,
BlockBlobClientUploadInternalResult, BlockList, PageBlobClientClearPagesResult,
PageBlobClientCreateResult, PageBlobClientResizeResult,
PageBlobClientSetSequenceNumberResult, PageBlobClientUploadPagesFromUrlResult,
PageBlobClientUploadPagesResult, PageList, SignedIdentifiers,
};
use azure_core::http::{AsyncResponse, NoFormat, Response, XmlFormat};
pub trait Sealed {}
impl Sealed for AsyncResponse<BlobClientDownloadInternalResult> {}
impl Sealed for Response<AppendBlobClientAppendBlockFromUrlResult, NoFormat> {}
impl Sealed for Response<AppendBlobClientAppendBlockResult, NoFormat> {}
impl Sealed for Response<AppendBlobClientCreateResult, NoFormat> {}
impl Sealed for Response<AppendBlobClientSealResult, NoFormat> {}
impl Sealed for Response<BlobClientAcquireLeaseResult, NoFormat> {}
impl Sealed for Response<BlobClientBreakLeaseResult, NoFormat> {}
impl Sealed for Response<BlobClientChangeLeaseResult, NoFormat> {}
impl Sealed for Response<BlobClientCreateSnapshotResult, NoFormat> {}
impl Sealed for Response<BlobClientGetAccountInfoResult, NoFormat> {}
impl Sealed for Response<BlobClientGetPropertiesResult, NoFormat> {}
impl Sealed for Response<BlobClientReleaseLeaseResult, NoFormat> {}
impl Sealed for Response<BlobClientRenewLeaseResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientAcquireLeaseResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientBreakLeaseResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientChangeLeaseResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientGetAccountInfoResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientGetPropertiesResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientReleaseLeaseResult, NoFormat> {}
impl Sealed for Response<BlobContainerClientRenewLeaseResult, NoFormat> {}
impl Sealed for Response<BlobServiceClientGetAccountInfoResult, NoFormat> {}
impl Sealed for Response<BlockBlobClientCommitBlockListResult, NoFormat> {}
impl Sealed for Response<BlockBlobClientStageBlockFromUrlResult, NoFormat> {}
impl Sealed for Response<BlockBlobClientStageBlockResult, NoFormat> {}
impl Sealed for Response<BlockBlobClientUploadBlobFromUrlResult, NoFormat> {}
impl Sealed for Response<BlockBlobClientUploadInternalResult, NoFormat> {}
impl Sealed for Response<BlockList, XmlFormat> {}
impl Sealed for Response<PageBlobClientClearPagesResult, NoFormat> {}
impl Sealed for Response<PageBlobClientCreateResult, NoFormat> {}
impl Sealed for Response<PageBlobClientResizeResult, NoFormat> {}
impl Sealed for Response<PageBlobClientSetSequenceNumberResult, NoFormat> {}
impl Sealed for Response<PageBlobClientUploadPagesFromUrlResult, NoFormat> {}
impl Sealed for Response<PageBlobClientUploadPagesResult, NoFormat> {}
impl Sealed for Response<PageList, XmlFormat> {}
impl Sealed for Response<SignedIdentifiers, XmlFormat> {}
}