diff --git a/smithy-aws-protocol-tests/model/restXml/services/s3.smithy b/smithy-aws-protocol-tests/model/restXml/services/s3.smithy index 9631ab69c04..615cd2dac10 100644 --- a/smithy-aws-protocol-tests/model/restXml/services/s3.smithy +++ b/smithy-aws-protocol-tests/model/restXml/services/s3.smithy @@ -43,7 +43,8 @@ service AmazonS3 { operations: [ ListObjectsV2, GetBucketLocation, - DeleteObjectTagging + DeleteObjectTagging, + GetObject ], } @@ -364,7 +365,6 @@ operation GetBucketLocation { output: GetBucketLocationOutput, } - structure CommonPrefix { Prefix: Prefix, } @@ -380,6 +380,42 @@ structure GetBucketLocationOutput { LocationConstraint: BucketLocationConstraint, } +@httpResponseTests([{ + id: "GetObjectInvalidExpires", + documentation: """ + S3 clients should not fail the request with invalid expires. + GA SDKs should verify the value in ExpiresString param and + new SDKs should verifiy the value in Expires param + """, + code: 200, + headers: { + "Expires": "foobar1234" + }, + body: "", + protocol: restXml + }]) +@http(uri: "/{Bucket}/{Key+}", method: "GET") +@s3UnwrappedXmlOutput +operation GetObject { + input: GetObjectRequest, + output: GetObjectOutput, +} + +structure GetObjectRequest { + @httpLabel + @required + Bucket: BucketName, + + @httpLabel + @required + Key: KeyName, +} + +structure GetObjectOutput { + @httpHeader("Expires") + Expires: Expires +} + structure ListObjectsV2Request { @httpLabel @required @@ -515,10 +551,14 @@ string AccountId string BucketName +string KeyName + string Delimiter string DisplayName +string Expires + enum EncodingType { @suppress(["EnumShape"]) url