From 2e29fbe9533c233494fa3b5da0823e1cbdbe1c88 Mon Sep 17 00:00:00 2001 From: acehinnnqru Date: Thu, 14 Sep 2023 21:06:30 +0800 Subject: [PATCH 1/2] feat(services/azblob)!: Rewrite the method signatures using OpWrite --- core/src/services/azblob/backend.rs | 19 ++++++++++++------- core/src/services/azblob/core.rs | 14 ++++++-------- core/src/services/azblob/writer.rs | 11 ++++------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/core/src/services/azblob/backend.rs b/core/src/services/azblob/backend.rs index 7e5fe259e02d..ee8d3b9787b8 100644 --- a/core/src/services/azblob/backend.rs +++ b/core/src/services/azblob/backend.rs @@ -558,9 +558,12 @@ impl Accessor for AzblobBackend { } async fn create_dir(&self, path: &str, _: OpCreateDir) -> Result { - let mut req = - self.core - .azblob_put_blob_request(path, Some(0), None, None, AsyncBody::Empty)?; + let mut req = self.core.azblob_put_blob_request( + path, + Some(0), + &Default::default(), + AsyncBody::Empty, + )?; self.core.sign(&mut req).await?; @@ -683,10 +686,12 @@ impl Accessor for AzblobBackend { v.if_match(), v.override_content_disposition(), )?, - PresignOperation::Write(_) => { - self.core - .azblob_put_blob_request(path, None, None, None, AsyncBody::Empty)? - } + PresignOperation::Write(_) => self.core.azblob_put_blob_request( + path, + None, + &Default::default(), + AsyncBody::Empty, + )?, }; self.core.sign_query(&mut req).await?; diff --git a/core/src/services/azblob/core.rs b/core/src/services/azblob/core.rs index 5eb46f4644f3..e493ff1abe2f 100644 --- a/core/src/services/azblob/core.rs +++ b/core/src/services/azblob/core.rs @@ -245,8 +245,7 @@ impl AzblobCore { &self, path: &str, size: Option, - content_type: Option<&str>, - cache_control: Option<&str>, + args: &OpWrite, body: AsyncBody, ) -> Result> { let p = build_abs_path(&self.root, path); @@ -263,14 +262,14 @@ impl AzblobCore { // Set SSE headers. req = self.insert_sse_headers(req); - if let Some(cache_control) = cache_control { + if let Some(cache_control) = args.cache_control() { req = req.header(constants::X_MS_BLOB_CACHE_CONTROL, cache_control); } if let Some(size) = size { req = req.header(CONTENT_LENGTH, size) } - if let Some(ty) = content_type { + if let Some(ty) = args.content_type() { req = req.header(CONTENT_TYPE, ty) } @@ -305,8 +304,7 @@ impl AzblobCore { pub fn azblob_init_appendable_blob_request( &self, path: &str, - content_type: Option<&str>, - cache_control: Option<&str>, + args: &OpWrite, ) -> Result> { let p = build_abs_path(&self.root, path); @@ -330,11 +328,11 @@ impl AzblobCore { "AppendBlob", ); - if let Some(ty) = content_type { + if let Some(ty) = args.content_type() { req = req.header(CONTENT_TYPE, ty) } - if let Some(cache_control) = cache_control { + if let Some(cache_control) = args.cache_control() { req = req.header(constants::X_MS_BLOB_CACHE_CONTROL, cache_control); } diff --git a/core/src/services/azblob/writer.rs b/core/src/services/azblob/writer.rs index 301c9f733ac7..bfcde2007d46 100644 --- a/core/src/services/azblob/writer.rs +++ b/core/src/services/azblob/writer.rs @@ -50,8 +50,7 @@ impl oio::OneShotWrite for AzblobWriter { let mut req = self.core.azblob_put_blob_request( &self.path, Some(bs.len() as u64), - self.op.content_type(), - self.op.cache_control(), + &self.op, AsyncBody::ChunkedBytes(bs), )?; @@ -95,11 +94,9 @@ impl oio::AppendObjectWrite for AzblobWriter { Ok(parse_content_length(headers)?.unwrap_or_default()) } StatusCode::NOT_FOUND => { - let mut req = self.core.azblob_init_appendable_blob_request( - &self.path, - self.op.content_type(), - self.op.cache_control(), - )?; + let mut req = self + .core + .azblob_init_appendable_blob_request(&self.path, &self.op)?; self.core.sign(&mut req).await?; From 5fb56495965eda36909dd44f1c0f88ea6561368b Mon Sep 17 00:00:00 2001 From: acehinnnqru Date: Thu, 14 Sep 2023 23:08:54 +0800 Subject: [PATCH 2/2] chore(services/azblob): use OpWrite::default instead of Default::default --- core/src/services/azblob/backend.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/services/azblob/backend.rs b/core/src/services/azblob/backend.rs index ee8d3b9787b8..c66122ff0790 100644 --- a/core/src/services/azblob/backend.rs +++ b/core/src/services/azblob/backend.rs @@ -561,7 +561,7 @@ impl Accessor for AzblobBackend { let mut req = self.core.azblob_put_blob_request( path, Some(0), - &Default::default(), + &OpWrite::default(), AsyncBody::Empty, )?; @@ -689,7 +689,7 @@ impl Accessor for AzblobBackend { PresignOperation::Write(_) => self.core.azblob_put_blob_request( path, None, - &Default::default(), + &OpWrite::default(), AsyncBody::Empty, )?, };