Skip to content

Commit a2fc340

Browse files
authored
move azure_storage::xml to azure_core::xml behind xml feature (#1045)
1 parent 25538f4 commit a2fc340

File tree

18 files changed

+32
-27
lines changed

18 files changed

+32
-27
lines changed

sdk/core/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ reqwest = { version = "0.11", features = [
2727
], default-features = false, optional = true }
2828
serde = { version = "1.0", features = ["derive"] }
2929
serde_json = "1.0"
30+
serde-xml-rs = { version = "0.5", optional = true }
3031
url = "2.2"
3132
uuid = { version = "1.0" }
3233
pin-project = "1.0"
@@ -51,3 +52,4 @@ enable_reqwest_gzip = ["reqwest/gzip"]
5152
enable_reqwest_rustls = ["reqwest/rustls-tls"]
5253
test_e2e = []
5354
azurite_workaround = []
55+
xml = ["serde-xml-rs"]

sdk/core/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ pub mod util;
3636

3737
use uuid::Uuid;
3838

39+
#[cfg(feature = "xml")]
40+
pub mod xml;
41+
3942
pub use bytes_stream::*;
4043
pub use constants::*;
4144
pub use context::Context;

sdk/storage/src/core/xml.rs renamed to sdk/core/src/xml.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use azure_core::error::{ErrorKind, ResultExt};
1+
use crate::error::{ErrorKind, ResultExt};
22

33
/// The UTF8 [byte order marker](https://en.wikipedia.org/wiki/Byte_order_mark)
44
const UTF8_BOM: [u8; 3] = [0xEF, 0xBB, 0xBF];
55

66
/// Reads the XML from bytes.
7-
pub fn read_xml<'de, T: serde::de::Deserialize<'de>>(body: &[u8]) -> azure_core::Result<T> {
7+
pub fn read_xml<'de, T: serde::de::Deserialize<'de>>(body: &[u8]) -> crate::Result<T> {
88
serde_xml_rs::from_reader(slice_bom(body)).with_context(ErrorKind::DataConversion, || {
99
let t = core::any::type_name::<T>();
1010
let xml = std::str::from_utf8(body).unwrap_or("<XML IS NOT UTF-8>");
@@ -24,6 +24,7 @@ fn slice_bom(bytes: &[u8]) -> &[u8] {
2424
#[cfg(test)]
2525
mod test {
2626
use super::*;
27+
use serde::Deserialize;
2728

2829
#[test]
2930
fn test_slice_bom() {

sdk/storage/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ edition = "2021"
1414

1515
[dependencies]
1616
async-trait = "0.1"
17-
azure_core = { path = "../core", version = "0.4" }
17+
azure_core = { path = "../core", version = "0.4", features = ["xml"] }
1818
base64 = "0.13"
1919
time = "0.3.10"
2020
futures = "0.3"

sdk/storage/src/core/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ pub mod parsing_xml;
1717
pub mod storage_shared_key_credential;
1818
mod stored_access_policy;
1919
pub use azure_core::error::{Error, ErrorKind, ResultExt};
20-
pub mod xml;
2120

2221
#[derive(Debug, Clone, PartialEq, Eq)]
2322
pub struct IPRange {

sdk/storage/src/core/stored_access_policy.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use crate::xml::read_xml;
2-
use azure_core::date;
1+
use azure_core::{date, xml::read_xml};
32
use time::OffsetDateTime;
43

54
#[derive(Debug, Clone, Default, PartialEq, Eq)]
@@ -117,7 +116,6 @@ struct AccessPolicy {
117116
#[cfg(test)]
118117
mod test {
119118
use super::*;
120-
use crate::xml::read_xml;
121119

122120
#[test]
123121
fn parse_from_xml() {

sdk/storage_blobs/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ categories = ["api-bindings"]
1313
edition = "2021"
1414

1515
[dependencies]
16-
azure_core = { path = "../core", version = "0.4" }
16+
azure_core = { path = "../core", version = "0.4", features = ["xml"] }
1717
azure_storage = { path = "../storage", version = "0.5", default-features = false }
1818
base64 = "0.13"
1919
bytes = "1.0"

sdk/storage_blobs/src/blob/operations/get_tags.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::prelude::*;
2-
use azure_core::{headers::*, prelude::*, RequestId};
3-
use azure_storage::xml::read_xml;
2+
use azure_core::{headers::*, prelude::*, xml::read_xml, RequestId};
43
use time::OffsetDateTime;
54

65
operation! {

sdk/storage_blobs/src/container/operations/list_blobs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ use azure_core::{
44
error::Error,
55
headers::{date_from_headers, request_id_from_headers, Headers},
66
prelude::*,
7+
xml::read_xml,
78
Pageable, RequestId, Response as AzureResponse,
89
};
9-
use azure_storage::xml::read_xml;
1010
use time::OffsetDateTime;
1111

1212
operation! {

sdk/storage_blobs/src/options/tags.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ impl Header for Tags {
154154
#[cfg(test)]
155155
mod tests {
156156
use super::*;
157-
use azure_storage::xml::read_xml;
157+
use azure_core::xml::read_xml;
158158

159159
#[test]
160160
fn parse_tags_xml() -> azure_core::Result<()> {

sdk/storage_blobs/src/service/operations/find_blobs_by_tags.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
use azure_core::prelude::*;
2-
use azure_core::Response as HttpResponse;
3-
use azure_storage::{headers::CommonStorageResponseHeaders, xml::read_xml};
1+
use azure_core::{prelude::*, xml::read_xml, Response as HttpResponse};
2+
use azure_storage::headers::CommonStorageResponseHeaders;
43

54
use crate::prelude::BlobServiceClient;
65

sdk/storage_queues/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ categories = ["api-bindings"]
1313
edition = "2021"
1414

1515
[dependencies]
16-
azure_core = { path = "../core", version = "0.4", default-features=false }
16+
azure_core = { path = "../core", version = "0.4", default-features=false, features = ["xml"] }
1717
azure_storage = { path = "../storage", version = "0.5", default-features=false }
1818
time = "0.3.10"
1919
futures = "0.3"

sdk/storage_queues/src/operations/get_messages.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{clients::QueueClient, prelude::*, PopReceipt};
2-
use azure_core::{headers::Headers, prelude::*, Method, Response as AzureResponse};
3-
use azure_storage::core::{headers::CommonStorageResponseHeaders, xml::read_xml};
2+
use azure_core::{headers::Headers, prelude::*, xml::read_xml, Method, Response as AzureResponse};
3+
use azure_storage::core::headers::CommonStorageResponseHeaders;
44
use serde::Deserialize;
55
use std::convert::TryInto;
66
use time::OffsetDateTime;

sdk/storage_queues/src/operations/get_queue_service_properties.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{QueueServiceClient, QueueServiceProperties};
2-
use azure_core::{headers::Headers, Method, Response as AzureResponse};
3-
use azure_storage::core::{headers::CommonStorageResponseHeaders, xml::read_xml};
2+
use azure_core::{headers::Headers, xml::read_xml, Method, Response as AzureResponse};
3+
use azure_storage::core::headers::CommonStorageResponseHeaders;
44
use std::convert::TryInto;
55

66
operation! {

sdk/storage_queues/src/operations/get_queue_service_stats.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ use azure_core::{
33
date,
44
error::{ErrorKind, ResultExt},
55
headers::Headers,
6+
xml::read_xml,
67
Method, Response as AzureResponse,
78
};
8-
use azure_storage::core::{headers::CommonStorageResponseHeaders, xml::read_xml};
9+
use azure_storage::core::headers::CommonStorageResponseHeaders;
910
use std::convert::TryInto;
1011
use time::OffsetDateTime;
1112

sdk/storage_queues/src/operations/list_queues.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
use crate::QueueServiceClient;
22
use azure_core::{
3-
error::Error, headers::Headers, prelude::*, Method, Pageable, Response as AzureResponse,
3+
error::Error, headers::Headers, prelude::*, xml::read_xml, Method, Pageable,
4+
Response as AzureResponse,
45
};
5-
use azure_storage::{core::headers::CommonStorageResponseHeaders, xml::read_xml};
6+
use azure_storage::core::headers::CommonStorageResponseHeaders;
67
use std::convert::TryInto;
78

89
operation! {

sdk/storage_queues/src/operations/peek_messages.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{clients::QueueClient, prelude::*};
2-
use azure_core::{headers::Headers, prelude::*, Method, Response as AzureResponse};
3-
use azure_storage::core::{headers::CommonStorageResponseHeaders, xml::read_xml};
2+
use azure_core::{headers::Headers, prelude::*, xml::read_xml, Method, Response as AzureResponse};
3+
use azure_storage::core::headers::CommonStorageResponseHeaders;
44
use std::convert::TryInto;
55
use time::OffsetDateTime;
66

sdk/storage_queues/src/operations/put_message.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use crate::prelude::*;
2-
use azure_core::{date, headers::Headers, prelude::*, Method, Response as AzureResponse};
3-
use azure_storage::{core::headers::CommonStorageResponseHeaders, xml::read_xml};
2+
use azure_core::{
3+
date, headers::Headers, prelude::*, xml::read_xml, Method, Response as AzureResponse,
4+
};
5+
use azure_storage::core::headers::CommonStorageResponseHeaders;
46
use std::convert::TryInto;
57
use time::OffsetDateTime;
68

0 commit comments

Comments
 (0)