in s3-artifact-storage-server/src/main/java/jetbrains/buildServer/artifacts/s3/web/S3CloudFrontDistributionCreationController.java [396:441]
private CachePolicy createNewPolicy(@NotNull CloudFrontClient cloudFrontClient, @NotNull List<CachePolicySummary> existingPolicies) {
CachePolicy defaultPolicy = existingPolicies
.stream()
.map(CachePolicySummary::cachePolicy)
.filter(IS_DEFAULT_POLICY)
.findAny()
.orElseThrow(() -> CloudFrontException.builder()
.message(String.format("Managed Cache policy '%s' not found", S3_CLOUDFRONT_DEFAULT_CACHE_POLICY))
.build()
);
ParametersInCacheKeyAndForwardedToOrigin forwardingParameters = ParametersInCacheKeyAndForwardedToOrigin.builder()
.queryStringsConfig(
CachePolicyQueryStringsConfig.builder()
.queryStringBehavior(CachePolicyQueryStringBehavior.ALL)
.build()
)
.cookiesConfig(
CachePolicyCookiesConfig.builder()
.cookieBehavior(CachePolicyCookieBehavior.NONE)
.build()
)
.headersConfig(
CachePolicyHeadersConfig.builder()
.headerBehavior(CachePolicyHeaderBehavior.NONE)
.build()
)
.enableAcceptEncodingGzip(true)
.enableAcceptEncodingBrotli(true)
.build();
CreateCachePolicyRequest request = CreateCachePolicyRequest.builder()
.cachePolicyConfig(
defaultPolicy.cachePolicyConfig()
.toBuilder()
.name(S3_CLOUDFRONT_GENERATED_CACHE_POLICY)
.comment(BASE_COMMENT)
.parametersInCacheKeyAndForwardedToOrigin(forwardingParameters)
.build()
)
.build();
CachePolicy newPolicy = cloudFrontClient.createCachePolicy(request).cachePolicy();
return newPolicy != null ? newPolicy : defaultPolicy;
}