use azure_data_cosmos_driver::models::{
ActivityId, CosmosResponseHeaders as DriverCosmosResponseHeaders, ETag, RequestCharge,
SessionToken, SubStatusCode,
};
#[derive(Clone, Debug, Default)]
#[non_exhaustive]
pub struct ResponseHeaders(DriverCosmosResponseHeaders);
impl ResponseHeaders {
pub fn etag(&self) -> Option<&ETag> {
self.0.etag.as_ref()
}
pub fn request_charge(&self) -> Option<&RequestCharge> {
self.0.request_charge.as_ref()
}
pub fn session_token(&self) -> Option<&SessionToken> {
self.0.session_token.as_ref()
}
pub fn continuation(&self) -> Option<&str> {
self.0.continuation.as_deref()
}
pub fn activity_id(&self) -> Option<&ActivityId> {
self.0.activity_id.as_ref()
}
pub fn substatus(&self) -> Option<&SubStatusCode> {
self.0.substatus.as_ref()
}
pub fn index_metrics(&self) -> Option<&str> {
self.0.index_metrics.as_deref()
}
pub fn query_metrics(&self) -> Option<&str> {
self.0.query_metrics.as_deref()
}
pub fn offer_replace_pending(&self) -> Option<bool> {
self.0.offer_replace_pending
}
pub fn server_duration_ms(&self) -> Option<f64> {
self.0.server_duration_ms
}
pub fn lsn(&self) -> Option<u64> {
self.0.lsn
}
pub fn item_lsn(&self) -> Option<u64> {
self.0.item_lsn
}
pub fn item_count(&self) -> Option<u32> {
self.0.item_count
}
pub fn retry_after_ms(&self) -> Option<u64> {
self.0.retry_after_ms
}
pub fn correlated_activity_id(&self) -> Option<&str> {
self.0.correlated_activity_id.as_deref()
}
pub fn transport_request_id(&self) -> Option<u32> {
self.0.transport_request_id
}
pub fn global_committed_lsn(&self) -> Option<i64> {
self.0.global_committed_lsn
}
pub fn local_lsn(&self) -> Option<u64> {
self.0.local_lsn
}
pub fn item_local_lsn(&self) -> Option<u64> {
self.0.item_local_lsn
}
pub fn gateway_version(&self) -> Option<&str> {
self.0.gateway_version.as_deref()
}
pub fn resource_quota(&self) -> Option<&str> {
self.0.resource_quota.as_deref()
}
pub fn resource_usage(&self) -> Option<&str> {
self.0.resource_usage.as_deref()
}
pub fn partition_key_range_id(&self) -> Option<&str> {
self.0.partition_key_range_id.as_deref()
}
pub fn internal_partition_id(&self) -> Option<&str> {
self.0.internal_partition_id.as_deref()
}
pub fn collection_index_transformation_progress(&self) -> Option<i64> {
self.0.collection_index_transformation_progress
}
pub fn collection_lazy_indexing_progress(&self) -> Option<i64> {
self.0.collection_lazy_indexing_progress
}
}
impl ResponseHeaders {
#[cfg(feature = "__internal_in_memory_emulator")]
#[doc(hidden)]
pub fn __into_driver_headers(self) -> DriverCosmosResponseHeaders {
self.0
}
}
impl From<DriverCosmosResponseHeaders> for ResponseHeaders {
fn from(inner: DriverCosmosResponseHeaders) -> Self {
Self(inner)
}
}
pub(crate) fn into_driver_headers(h: ResponseHeaders) -> DriverCosmosResponseHeaders {
h.0
}