backblaze_b2_client/definitions/
headers.rs1use super::shared::{
2 B2FileLegalHold, B2FileRetentionMode, B2ServerSideEncryption, B2ServerSideEncryptionAlgorithm,
3};
4use crate::util::IntoHeaderMap;
5use serde::Serialize;
6use typed_builder::TypedBuilder;
7
8#[derive(Clone, Debug, Serialize, TypedBuilder)]
9#[builder(field_defaults(default))]
10pub struct B2UploadPartHeaders {
11 #[builder(!default)]
12 #[serde(rename = "Authorization")]
13 #[builder(!default)]
14 pub authorization: String,
15 #[serde(rename = "X-Bz-Part-Number")]
16 #[builder(!default)]
17 pub part_number: u16,
18 #[serde(rename = "Content-Length")]
19 #[builder(!default)]
20 pub content_length: u64,
21 #[serde(rename = "X-Bz-Content-Sha1")]
22 #[builder(!default)]
23 pub content_sha1: String,
24 #[serde(rename = "X-Bz-Server-Side-Encryption-Customer-Algorithm")]
25 pub server_side_encryption_customer_algorithm: Option<B2ServerSideEncryptionAlgorithm>,
26 #[serde(rename = "X-Bz-Server-Side-Encryption-Customer-Key")]
27 pub server_side_encryption_customer_key: Option<String>,
28 #[serde(rename = "X-Bz-Server-Side-Encryption-Customer-Key-Md5")]
29 pub server_side_encryption_customer_key_md5: Option<String>,
30}
31
32#[derive(Clone, Debug, Serialize, TypedBuilder)]
33#[builder(field_defaults(default))]
34pub struct B2UploadFileHeaders {
35 #[builder(!default)]
36 #[serde(rename = "Authorization")]
37 pub authorization: String,
38 #[serde(rename = "X-Bz-File-Name")]
39 #[builder(!default)]
40 pub file_name: String,
41 #[builder(!default)]
42 #[serde(rename = "Content-Type")]
43 pub content_type: String,
44 #[builder(!default)]
45 #[serde(rename = "Content-Length")]
46 pub content_length: u64,
47 #[builder(!default)]
48 #[serde(rename = "X-Bz-Content-Sha1")]
49 pub content_sha1: String,
50 #[serde(rename = "X-Bz-Info-src_last_modified_millis")]
51 pub src_last_modified_millis: Option<u64>,
52 #[serde(rename = "X-Bz-Info-b2-content-disposition")]
53 pub b2_content_disposition: Option<String>,
54 #[serde(rename = "X-Bz-Info-b2-content-language")]
55 pub b2_content_language: Option<String>,
56 #[serde(rename = "X-Bz-Info-b2-expires")]
57 pub b2_expires: Option<String>,
58 #[serde(rename = "X-Bz-Info-b2-cache-control")]
59 pub b2_cache_control: Option<String>,
60 #[serde(rename = "X-Bz-Info-b2-content-encoding")]
61 pub b2_content_encoding: Option<String>,
62 #[serde(rename = "X-Bz-Custom-Upload-Timestamp")]
63 pub custom_upload_timestamp: Option<u64>,
64 #[serde(rename = "X-Bz-File-Legal-Hold")]
65 pub legal_hold: Option<B2FileLegalHold>,
66 #[serde(rename = "X-Bz-File-Retention-Mode")]
67 pub retention_mode: Option<B2FileRetentionMode>,
68 #[serde(rename = "X-Bz-File-Retention-Retain-Until-Timestamp")]
69 pub retention_retain_until_timestamp: Option<u64>,
70 #[serde(rename = "X-Bz-Server-Side-Encryption")]
71 pub server_side_encryption: Option<B2ServerSideEncryption>,
72 #[serde(rename = "X-Bz-Server-Side-Encryption-Customer-Algorithm")]
73 pub server_side_encryption_customer_algorithm: Option<B2ServerSideEncryptionAlgorithm>,
74 #[serde(rename = "X-Bz-Server-Side-Encryption-Customer-Key")]
75 pub server_side_encryption_customer_key: Option<String>,
76 #[serde(rename = "X-Bz-Server-Side-Encryption-Customer-Key-Md5")]
77 pub server_side_encryption_customer_key_md5: Option<String>,
78}
79
80impl IntoHeaderMap for B2UploadPartHeaders {}
81impl IntoHeaderMap for B2UploadFileHeaders {}