Skip to content

Commit 0647831

Browse files
committed
Cleaned up corsBehavior const using spread syntax, and enforced accessControlAllowOrigins as required
1 parent 2ecd0d7 commit 0647831

File tree

1 file changed

+7
-20
lines changed

1 file changed

+7
-20
lines changed

packages/static-hosting/lib/static-hosting.ts

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)