@@ -94,7 +94,7 @@ export interface StaticHostingProps {
9494 *
9595 * @default undefined - no CORS policy will be applied
9696 */
97- corsConfig ?: Partial < ResponseHeadersCorsBehavior > ;
97+ corsConfig ?: Partial < ResponseHeadersCorsBehavior > & Pick < ResponseHeadersCorsBehavior , "accessControlAllowOrigins" > ;
9898
9999 /**
100100 * Whether the site should be indexable by search engines.
@@ -627,26 +627,13 @@ export class StaticHosting extends Construct {
627627 // Create CORS behavior config if corsConfig is specified
628628 const corsBehavior : ResponseHeadersCorsBehavior | undefined =
629629 props . corsConfig &&
630- props . corsConfig . accessControlAllowOrigins &&
631- props . corsConfig . accessControlAllowOrigins . length > 0
630+ props . corsConfig ?. accessControlAllowOrigins . length > 0
632631 ? {
633- accessControlAllowCredentials :
634- props . corsConfig . accessControlAllowCredentials ?? false ,
635- accessControlAllowHeaders : props . corsConfig
636- . accessControlAllowHeaders ?? [ "*" ] ,
637- accessControlAllowMethods : props . corsConfig
638- . accessControlAllowMethods ?? [ "GET" , "HEAD" , "OPTIONS" ] ,
639- accessControlAllowOrigins :
640- props . corsConfig . accessControlAllowOrigins ,
641- originOverride : props . corsConfig . originOverride ?? true ,
642- // Pass through optional fields if provided
643- ...( props . corsConfig . accessControlExposeHeaders && {
644- accessControlExposeHeaders :
645- props . corsConfig . accessControlExposeHeaders ,
646- } ) ,
647- ...( props . corsConfig . accessControlMaxAge && {
648- accessControlMaxAge : props . corsConfig . accessControlMaxAge ,
649- } ) ,
632+ accessControlAllowCredentials : false ,
633+ accessControlAllowHeaders : [ "*" ] ,
634+ accessControlAllowMethods : [ "GET" , "HEAD" , "OPTIONS" ] ,
635+ originOverride : true ,
636+ ...props . corsConfig ,
650637 }
651638 : undefined ;
652639
0 commit comments