aws-sdk
Version:
AWS SDK for JavaScript
54 lines (49 loc) • 1.56 kB
JavaScript
/**
* Sets model overrides for S3 ExpiresString.
*/
module.exports = function setS3ExpiresString(model) {
if (model.metadata.serviceId === 'S3') {
var newShapes = {};
for (var shapeId in model.shapes) {
newShapes[shapeId] = model.shapes[shapeId];
if (shapeId === 'Expires') {
// preserve timestamp type for Expires.
newShapes[shapeId] = {};
newShapes[shapeId].type = 'timestamp';
// add ExpiresString
newShapes['ExpiresString'] = {
type: 'string'
};
}
}
model.shapes = newShapes;
for (var operationKey in model.operations) {
var op = model.operations[operationKey];
if (!op.output || !op.output.shape) {
continue;
}
var output = model.shapes[op.output.shape];
if (!output || !output.members) {
continue;
}
if ('Expires' in output.members) {
var newMembers = {};
for (var memberKey in output.members) {
newMembers[memberKey] = output.members[memberKey];
if (memberKey === 'Expires') {
newMembers['ExpiresString'] = Object.assign({}, newMembers[memberKey], {
'shape': 'ExpiresString',
'location': 'header',
'locationName': 'ExpiresString'
});
newMembers[memberKey].deprecated = true;
newMembers[memberKey].documentation = 'Deprecated in favor of ExpiresString.';
}
}
output.members = newMembers;
}
}
return true;
}
return false;
};