1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
use azure_sdk_core::errors::AzureError; use azure_sdk_core::{ content_md5_from_headers, date_from_headers, etag_from_headers, last_modified_from_headers, request_id_from_headers, request_server_encrypted_from_headers, RequestId, }; use chrono::{DateTime, Utc}; use http::HeaderMap; #[derive(Debug, Clone)] pub struct PutBlockBlobResponse { pub etag: String, pub last_modified: DateTime<Utc>, pub content_md5: [u8; 16], pub request_id: RequestId, pub date: DateTime<Utc>, pub request_server_encrypted: bool, } impl PutBlockBlobResponse { pub fn from_headers(headers: &HeaderMap) -> Result<PutBlockBlobResponse, AzureError> { let etag = etag_from_headers(headers)?; let last_modified = last_modified_from_headers(headers)?; let content_md5 = content_md5_from_headers(headers)?; let request_id = request_id_from_headers(headers)?; let date = date_from_headers(headers)?; let request_server_encrypted = request_server_encrypted_from_headers(headers)?; Ok(PutBlockBlobResponse { etag, last_modified, content_md5, request_id, date, request_server_encrypted, }) } }