diff --git a/lib/util.js b/lib/util.js index bec9f78ead..a1cd09069c 100644 --- a/lib/util.js +++ b/lib/util.js @@ -726,12 +726,16 @@ var util = { hoistPayloadMember: function hoistPayloadMember(resp) { var req = resp.request; var operation = req.operation; - var payloadMember = req.service.api.operations[operation].output.payload; - var payload = resp.data[payloadMember]; - if (typeof payloadMember === 'string' && typeof payload === 'object') { - AWS.util.each(payload, function(key, value) { - AWS.util.property(resp.data, key, value, false); - }); + var output = req.service.api.operations[operation].output; + var payload = output.payload; + if (payload) { + var payloadMember = output.members[payload]; + var responsePayload = resp.data[payload]; + if (payloadMember.type === 'structure' && !payloadMember.isStreaming) { + AWS.util.each(responsePayload, function(key, value) { + AWS.util.property(resp.data, key, value, false); + }); + } } }