Skip to content

Commit

Permalink
Change s3 100continue middleware codegen comment, shrink middleware s…
Browse files Browse the repository at this point in the history
…cale to PutObject and UploadPart
  • Loading branch information
Tianyi Wang committed Mar 20, 2023
1 parent 94a1e66 commit 38963ce
Show file tree
Hide file tree
Showing 30 changed files with 17 additions and 94 deletions.
8 changes: 4 additions & 4 deletions aws/signer/internal/v4/headers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,21 @@ func TestIgnoredHeaders(t *testing.T) {
}{
"expect": {
Header: "Expect",
ExpectIgnored: false,
ExpectIgnored: true,
},
"authorization": {
Header: "Authorization",
ExpectIgnored: false,
ExpectIgnored: true,
},
"X-AMZ header": {
Header: "X-Amz-Content-Sha256",
ExpectIgnored: true,
ExpectIgnored: false,
},
}

for name, c := range cases {
t.Run(name, func(t *testing.T) {
if e, a := c.ExpectIgnored, IgnoredHeaders.IsValid(c.Header); e != a {
if e, a := c.ExpectIgnored, IgnoredHeaders.IsValid(c.Header); e == a {
t.Errorf("expect ignored %v, was %v", e, a)
}
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@
import software.amazon.smithy.model.traits.HttpTrait;
import software.amazon.smithy.utils.ListUtils;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
* Add middleware, which adds {Expect: 100-continue} header for s3 client HTTP PUT request larger than 2MB
Expand All @@ -23,8 +26,8 @@
public class S3100Continue implements GoIntegration {
private static final String ADD_100Continue_Header = "add100Continue";
private static final String ADD_100Continue_Header_INTERNAL = "Add100Continue";
private static final String ADD_100Continue_Header_Option = "AddContinueOption";
private static final String Continue_Client_Option = "ContinueHeaderThresholdBytes";
private static final Set<String> Put_Op_Set = new HashSet<>(Arrays.asList("PutObject", "UploadPart"));

/**
* Return true if service is Amazon S3.
Expand Down Expand Up @@ -76,8 +79,9 @@ private void writeMiddlewareHelper(GoWriter writer) {
public List<RuntimeClientPlugin> getClientPlugins() {
return ListUtils.of(
RuntimeClientPlugin.builder()
.operationPredicate((model, service, operation) -> isS3Service(model, service) && operation.
getTrait(HttpTrait.class).get().getMethod().equals("PUT"))
.operationPredicate((model, service, operation) ->
isS3Service(model, service) && Put_Op_Set.contains(operation.getId().getName())
)
.registerMiddleware(MiddlewareRegistrar.builder()
.resolvedFunction(SymbolUtils.createValueSymbolBuilder(ADD_100Continue_Header).build())
.useClientOptions()
Expand All @@ -92,9 +96,9 @@ public List<RuntimeClientPlugin> getClientPlugins() {
.type(SymbolUtils.createValueSymbolBuilder("int64")
.putProperty(SymbolUtils.GO_UNIVERSE_TYPE, true)
.build())
.documentation("The threshold ContentLength for HTTP PUT request to receive {Expect: 100-continue} header. " +
"When set to -1, this header will be opt out of the operation request; when set to 0, the threshold" +
"will be set to default 2MB")
.documentation("The threshold ContentLength in bytes for HTTP PUT request to receive {Expect: 100-continue} header. " +
"Setting to -1 will disable adding the Expect header to requests; setting to 0 will set the threshold " +
"to default 2MB")
.build()
))
.build()
Expand Down
6 changes: 3 additions & 3 deletions service/s3/api_client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_CopyObject.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_CreateBucket.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketAccelerateConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketAcl.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketAnalyticsConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketCors.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketEncryption.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketIntelligentTieringConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketInventoryConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketLifecycleConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketLogging.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketMetricsConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketNotificationConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketOwnershipControls.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketPolicy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketReplication.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketRequestPayment.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketTagging.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketVersioning.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutBucketWebsite.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutObjectAcl.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutObjectLegalHold.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutObjectLockConfiguration.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutObjectRetention.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutObjectTagging.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_PutPublicAccessBlock.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions service/s3/api_op_UploadPartCopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 38963ce

Please sign in to comment.