Class CorsHttpIntegration

java.lang.Object
software.amazon.smithy.aws.apigateway.openapi.CorsHttpIntegration
All Implemented Interfaces:
ApiGatewayMapper, OpenApiMapper

public final class CorsHttpIntegration extends Object implements ApiGatewayMapper
Adds support for the API Gateway x-amazon-apigateway-cors extension for API Gateway HTTP APIs using values from the Smithy cors trait.
  • allowOrigins is populated based on the origin property of the cors trait.
  • maxAge is populated based on the maxAge property of the cors trait.
  • allowMethods is populated by scanning the generated OpenAPI definition for every defined method.
  • exposedHeaders is set to "*" to expose all headers IFF the service does not use HTTP credentials, and no value is provided to the additionalExposedHeaders property of the Smithy cors trait. Otherwise, this value is populated by finding all of the response headers used by the protocol, modeled in the service, and used by auth schemes.
  • allowedHeaders is set to "*" to allow all headers IFF the service does not use HTTP credentials, and no value is provided to the additionalAllowedHeaders property of the Smithy cors trait. Otherwise, this value is populated by finding all of the request headers used by the protocol, modeled in the service, and used by auth schemes.
  • allowCredentials is set to true if any of the auth schemes used in the API use HTTP credentials according to Context.usesHttpCredentials().
See Also:
  • Constructor Details

    • CorsHttpIntegration

      public CorsHttpIntegration()
  • Method Details

    • getApiTypes

      public List<ApiGatewayConfig.ApiType> getApiTypes()
      Description copied from interface: ApiGatewayMapper
      Gets the types of API Gateway APIs that this mapper applies to.

      Return an empty list or null to apply to all possible API types other than ApiGatewayConfig.ApiType.DISABLED. However, note that it's typically safer to specify the exact API types that the mapper supports.

      Specified by:
      getApiTypes in interface ApiGatewayMapper
      Returns:
      Returns the list of API Gateway API types to apply to.
    • after

      public OpenApi after(Context<? extends Trait> context, OpenApi openapi)
      Description copied from interface: OpenApiMapper
      Updates an OpenApi object after it is built.
      Specified by:
      after in interface OpenApiMapper
      Parameters:
      context - Conversion context.
      openapi - OpenAPI object to modify.
      Returns:
      Returns the updated OpenApi object.