diff --git a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddBuiltinPlugins.java b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddBuiltinPlugins.java index af9eae5e2e779..6dd128efd0140 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddBuiltinPlugins.java +++ b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddBuiltinPlugins.java @@ -118,6 +118,15 @@ && testServiceId(s, "S3")) .operationPredicate((m, s, o) -> o.getId().getName().equals("Predict") && testServiceId(s, "Machine Learning")) .build(), + /** + * BUCKET_ENDPOINT_MIDDLEWARE needs two separate plugins. The first resolves the config in the client. + * The second applies the middleware to bucket endpoint operations. + */ + RuntimeClientPlugin.builder() + .withConventions(AwsDependency.BUCKET_ENDPOINT_MIDDLEWARE.dependency, "BucketEndpoint", + HAS_CONFIG) + .servicePredicate((m, s) -> testServiceId(s, "S3")) + .build(), RuntimeClientPlugin.builder() .withConventions(AwsDependency.BUCKET_ENDPOINT_MIDDLEWARE.dependency, "BucketEndpoint", HAS_MIDDLEWARE) diff --git a/packages/middleware-bucket-endpoint/src/index.spec.ts b/packages/middleware-bucket-endpoint/src/index.spec.ts new file mode 100644 index 0000000000000..8951c01ebf2ef --- /dev/null +++ b/packages/middleware-bucket-endpoint/src/index.spec.ts @@ -0,0 +1,19 @@ +import { + bucketEndpointMiddleware, + getBucketEndpointPlugin, + resolveBucketEndpointConfig +} from "./index"; + +describe("middleware-bucket-endpoint package exports", () => { + it("bucketEndpointMiddleware", () => { + expect(typeof bucketEndpointMiddleware).toBe("function"); + }); + + it("getBucketEndpointPlugin", () => { + expect(typeof getBucketEndpointPlugin).toBe("function"); + }); + + it("resolveBucketEndpointConfig", () => { + expect(typeof resolveBucketEndpointConfig).toBe("function"); + }); +}); diff --git a/packages/middleware-bucket-endpoint/src/index.ts b/packages/middleware-bucket-endpoint/src/index.ts index f7cebc0e4b735..73841ad6641cc 100644 --- a/packages/middleware-bucket-endpoint/src/index.ts +++ b/packages/middleware-bucket-endpoint/src/index.ts @@ -1,2 +1,3 @@ export * from "./bucketEndpointMiddleware"; export * from "./bucketHostname"; +export * from "./configurations";