Skip to content

Commit

Permalink
fix(clients): trim values in parsed xml only if result is empty (#2194)
Browse files Browse the repository at this point in the history
  • Loading branch information
trivikr committed Mar 31, 2021
1 parent 325d6b4 commit a990db7
Show file tree
Hide file tree
Showing 27 changed files with 55 additions and 28 deletions.
3 changes: 2 additions & 1 deletion clients/client-auto-scaling/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8908,7 +8908,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-cloudformation/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9598,7 +9598,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-cloudfront/protocols/Aws_restXml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17052,7 +17052,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-cloudsearch/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4875,7 +4875,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-cloudwatch/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5473,7 +5473,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-docdb/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8712,7 +8712,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-ec2/protocols/Aws_ec2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70099,7 +70099,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-elastic-beanstalk/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8209,7 +8209,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7865,7 +7865,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-elastic-load-balancing/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5414,7 +5414,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-elasticache/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14384,7 +14384,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-iam/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19108,7 +19108,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-neptune/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13178,7 +13178,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-rds/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27087,7 +27087,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-redshift/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18582,7 +18582,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-route-53/protocols/Aws_restXml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9011,7 +9011,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-s3-control/protocols/Aws_restXml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6771,7 +6771,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-s3/protocols/Aws_restXml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14317,7 +14317,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-ses/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10324,7 +10324,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-sns/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5334,7 +5334,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-sqs/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3145,7 +3145,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion clients/client-sts/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1470,7 +1470,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,9 @@ static void generateXmlParseBody(GenerationContext context) {
+ "any => collectBodyString(streamBody, context).then(encoded => {", "});", () -> {
writer.openBlock("if (encoded.length) {", "}", () -> {
writer.write("const parsedObj = xmlParse(encoded, { attributeNamePrefix: '', "
+ "ignoreAttributes: false, parseNodeValue: false, tagValueProcessor: (val, tagName) "
+ "=> decodeEscapedXML(val) });");
+ "ignoreAttributes: false, parseNodeValue: false, trimValues: false, "
+ "tagValueProcessor: (val, tagName) => val.trim() === '' ? "
+ "'': decodeEscapedXML(val) });");
writer.write("const textNodeName = '#text';");
writer.write("const key = Object.keys(parsedObj)[0];");
writer.write("const parsedObjToReturn = parsedObj[key];");
Expand Down
3 changes: 2 additions & 1 deletion protocol_tests/aws-ec2/protocols/Aws_ec2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2152,7 +2152,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion protocol_tests/aws-query/protocols/Aws_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2928,7 +2928,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion protocol_tests/aws-restxml/protocols/Aws_restXml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5569,7 +5569,8 @@ const parseBody = (streamBody: any, context: __SerdeContext): any =>
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val, tagName) => decodeEscapedXML(val),
trimValues: false,
tagValueProcessor: (val, tagName) => (val.trim() === "" ? "" : decodeEscapedXML(val)),
});
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
Expand Down
3 changes: 2 additions & 1 deletion protocol_tests/aws-restxml/tests/functional/restxml.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5301,7 +5301,8 @@ const compareEquivalentXmlBodies = (expectedBody: string, generatedBody: string)
attributeNamePrefix: "",
ignoreAttributes: false,
parseNodeValue: false,
tagValueProcessor: (val: any, tagName: any) => decodeEscapedXml(val),
trimValues: false,
tagValueProcessor: (val: any, tagName: any) => (val.trim() === "" ? "" : decodeEscapedXml(val)),
};

const parseXmlBody = (body: string) => {
Expand Down

0 comments on commit a990db7

Please sign in to comment.