rusty-cat 0.2.2

Async HTTP client for resumable file upload and download.
Documentation
/// Result captured after a presigned part upload succeeds.
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub struct PresignedUploadedPart {
    /// Provider-defined part number.
    pub part_number: u64,
    /// Optional provider-specific part identifier, for example Azure block id.
    pub provider_part_id: Option<String>,
    /// Start offset in the full file.
    pub offset: u64,
    /// Uploaded byte size.
    pub size: u64,
    /// Optional ETag returned by providers such as Aliyun OSS/S3.
    pub etag: Option<String>,
}

impl PresignedUploadedPart {
    /// Returns the ETag without surrounding double quotes.
    pub fn etag_unquoted(&self) -> Option<&str> {
        self.etag.as_deref().map(|etag| etag.trim_matches('"'))
    }
}