Skip to content

Commit

Permalink
fix(clients): handle empty xml tags (#3623)
Browse files Browse the repository at this point in the history
The underlying xml parser(fast-xml-parser) used in the SDK parses
self-closing tags value as "". For Collections, Map and Union shape
the parser should return early to skip parsing the subordinary
shapes out of "".
  • Loading branch information
AllanZhengYP committed Jun 8, 2022
1 parent 6f20e51 commit 543a0ce
Show file tree
Hide file tree
Showing 25 changed files with 2,047 additions and 3,223 deletions.
189 changes: 71 additions & 118 deletions clients/client-auto-scaling/src/protocols/Aws_query.ts

Large diffs are not rendered by default.

183 changes: 67 additions & 116 deletions clients/client-cloudformation/src/protocols/Aws_query.ts

Large diffs are not rendered by default.

171 changes: 61 additions & 110 deletions clients/client-cloudfront/src/protocols/Aws_restXml.ts

Large diffs are not rendered by default.

24 changes: 8 additions & 16 deletions clients/client-cloudsearch/src/protocols/Aws_query.ts
Expand Up @@ -3040,8 +3040,7 @@ const deserializeAws_queryBuildSuggestersResponse = (output: any, context: __Ser
};
if (output.FieldNames === "") {
contents.FieldNames = [];
}
if (output["FieldNames"] !== undefined && output["FieldNames"]["member"] !== undefined) {
} else if (output["FieldNames"] !== undefined && output["FieldNames"]["member"] !== undefined) {
contents.FieldNames = deserializeAws_queryFieldNameList(
__getArrayIfSingleItem(output["FieldNames"]["member"]),
context
Expand Down Expand Up @@ -3233,8 +3232,7 @@ const deserializeAws_queryDescribeAnalysisSchemesResponse = (
};
if (output.AnalysisSchemes === "") {
contents.AnalysisSchemes = [];
}
if (output["AnalysisSchemes"] !== undefined && output["AnalysisSchemes"]["member"] !== undefined) {
} else if (output["AnalysisSchemes"] !== undefined && output["AnalysisSchemes"]["member"] !== undefined) {
contents.AnalysisSchemes = deserializeAws_queryAnalysisSchemeStatusList(
__getArrayIfSingleItem(output["AnalysisSchemes"]["member"]),
context
Expand Down Expand Up @@ -3281,8 +3279,7 @@ const deserializeAws_queryDescribeDomainsResponse = (output: any, context: __Ser
};
if (output.DomainStatusList === "") {
contents.DomainStatusList = [];
}
if (output["DomainStatusList"] !== undefined && output["DomainStatusList"]["member"] !== undefined) {
} else if (output["DomainStatusList"] !== undefined && output["DomainStatusList"]["member"] !== undefined) {
contents.DomainStatusList = deserializeAws_queryDomainStatusList(
__getArrayIfSingleItem(output["DomainStatusList"]["member"]),
context
Expand All @@ -3300,8 +3297,7 @@ const deserializeAws_queryDescribeExpressionsResponse = (
};
if (output.Expressions === "") {
contents.Expressions = [];
}
if (output["Expressions"] !== undefined && output["Expressions"]["member"] !== undefined) {
} else if (output["Expressions"] !== undefined && output["Expressions"]["member"] !== undefined) {
contents.Expressions = deserializeAws_queryExpressionStatusList(
__getArrayIfSingleItem(output["Expressions"]["member"]),
context
Expand All @@ -3319,8 +3315,7 @@ const deserializeAws_queryDescribeIndexFieldsResponse = (
};
if (output.IndexFields === "") {
contents.IndexFields = [];
}
if (output["IndexFields"] !== undefined && output["IndexFields"]["member"] !== undefined) {
} else if (output["IndexFields"] !== undefined && output["IndexFields"]["member"] !== undefined) {
contents.IndexFields = deserializeAws_queryIndexFieldStatusList(
__getArrayIfSingleItem(output["IndexFields"]["member"]),
context
Expand Down Expand Up @@ -3364,8 +3359,7 @@ const deserializeAws_queryDescribeSuggestersResponse = (
};
if (output.Suggesters === "") {
contents.Suggesters = [];
}
if (output["Suggesters"] !== undefined && output["Suggesters"]["member"] !== undefined) {
} else if (output["Suggesters"] !== undefined && output["Suggesters"]["member"] !== undefined) {
contents.Suggesters = deserializeAws_querySuggesterStatusList(
__getArrayIfSingleItem(output["Suggesters"]["member"]),
context
Expand Down Expand Up @@ -3636,8 +3630,7 @@ const deserializeAws_queryIndexDocumentsResponse = (output: any, context: __Serd
};
if (output.FieldNames === "") {
contents.FieldNames = [];
}
if (output["FieldNames"] !== undefined && output["FieldNames"]["member"] !== undefined) {
} else if (output["FieldNames"] !== undefined && output["FieldNames"]["member"] !== undefined) {
contents.FieldNames = deserializeAws_queryFieldNameList(
__getArrayIfSingleItem(output["FieldNames"]["member"]),
context
Expand Down Expand Up @@ -3877,8 +3870,7 @@ const deserializeAws_queryListDomainNamesResponse = (output: any, context: __Ser
};
if (output.DomainNames === "") {
contents.DomainNames = {};
}
if (output["DomainNames"] !== undefined && output["DomainNames"]["entry"] !== undefined) {
} else if (output["DomainNames"] !== undefined && output["DomainNames"]["entry"] !== undefined) {
contents.DomainNames = deserializeAws_queryDomainNameMap(
__getArrayIfSingleItem(output["DomainNames"]["entry"]),
context
Expand Down
144 changes: 54 additions & 90 deletions clients/client-cloudwatch/src/protocols/Aws_query.ts

Large diffs are not rendered by default.

0 comments on commit 543a0ce

Please sign in to comment.