OriginRequestQueryStringBehavior Class
Determines whether any URL query strings in viewer requests (and if so, which query strings) are included in requests that CloudFront sends to the origin.
Example
ts
// Creating a custom origin request policy for a Distribution -- all parameters optional
declare const bucketOrigin: origins.S3Origin;
const myOriginRequestPolicy = new cloudfront.OriginRequestPolicy(this, 'OriginRequestPolicy', {
originRequestPolicyName: 'MyPolicy',
comment: 'A default policy',
cookieBehavior: cloudfront.OriginRequestCookieBehavior.none(),
headerBehavior: cloudfront.OriginRequestHeaderBehavior.all('CloudFront-Is-Android-Viewer'),
queryStringBehavior: cloudfront.OriginRequestQueryStringBehavior.allowList('username'),
});
new cloudfront.Distribution(this, 'myDistCustomPolicy', {
defaultBehavior: {
origin: bucketOrigin,
originRequestPolicy: myOriginRequestPolicy,
},
});
python
# Creating a custom origin request policy for a Distribution -- all parameters optional
# bucket_origin: origins.S3Origin
my_origin_request_policy = cloudfront.OriginRequestPolicy(self, "OriginRequestPolicy",
origin_request_policy_name="MyPolicy",
comment="A default policy",
cookie_behavior=cloudfront.OriginRequestCookieBehavior.none(),
header_behavior=cloudfront.OriginRequestHeaderBehavior.all("CloudFront-Is-Android-Viewer"),
query_string_behavior=cloudfront.OriginRequestQueryStringBehavior.allow_list("username")
)
cloudfront.Distribution(self, "myDistCustomPolicy",
default_behavior=cloudfront.BehaviorOptions(
origin=bucket_origin,
origin_request_policy=my_origin_request_policy
)
)
java
// Creating a custom origin request policy for a Distribution -- all parameters optional
S3Origin bucketOrigin;
OriginRequestPolicy myOriginRequestPolicy = OriginRequestPolicy.Builder.create(this, "OriginRequestPolicy")
.originRequestPolicyName("MyPolicy")
.comment("A default policy")
.cookieBehavior(OriginRequestCookieBehavior.none())
.headerBehavior(OriginRequestHeaderBehavior.all("CloudFront-Is-Android-Viewer"))
.queryStringBehavior(OriginRequestQueryStringBehavior.allowList("username"))
.build();
Distribution.Builder.create(this, "myDistCustomPolicy")
.defaultBehavior(BehaviorOptions.builder()
.origin(bucketOrigin)
.originRequestPolicy(myOriginRequestPolicy)
.build())
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// Creating a custom origin request policy for a Distribution -- all parameters optional
S3Origin bucketOrigin;
var myOriginRequestPolicy = new OriginRequestPolicy(this, "OriginRequestPolicy", new OriginRequestPolicyProps {
OriginRequestPolicyName = "MyPolicy",
Comment = "A default policy",
CookieBehavior = OriginRequestCookieBehavior.None(),
HeaderBehavior = OriginRequestHeaderBehavior.All("CloudFront-Is-Android-Viewer"),
QueryStringBehavior = OriginRequestQueryStringBehavior.AllowList("username")
});
new Distribution(this, "myDistCustomPolicy", new DistributionProps {
DefaultBehavior = new BehaviorOptions {
Origin = bucketOrigin,
OriginRequestPolicy = myOriginRequestPolicy
}
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// Creating a custom origin request policy for a Distribution -- all parameters optional
var bucketOrigin S3Origin
myOriginRequestPolicy := cloudfront.NewOriginRequestPolicy(this, jsii.String("OriginRequestPolicy"), &OriginRequestPolicyProps{
OriginRequestPolicyName: jsii.String("MyPolicy"),
Comment: jsii.String("A default policy"),
CookieBehavior: cloudfront.OriginRequestCookieBehavior_None(),
HeaderBehavior: cloudfront.OriginRequestHeaderBehavior_All(jsii.String("CloudFront-Is-Android-Viewer")),
QueryStringBehavior: cloudfront.OriginRequestQueryStringBehavior_AllowList(jsii.String("username")),
})
cloudfront.NewDistribution(this, jsii.String("myDistCustomPolicy"), &DistributionProps{
DefaultBehavior: &BehaviorOptions{
Origin: bucketOrigin,
OriginRequestPolicy: myOriginRequestPolicy,
},
})
Properties
The behavior of query strings -- allow all, none, or only an allow list.
queryStringsmay be undefinedstring[]query_stringsmay be undefinedtyping.List[str]queryStringsmay be undefinedList<String>QueryStringsmay be undefinedstring[]QueryStringsmay be undefined*[]*string#The query strings to allow, if the behavior is an allow list.
Methods
all(): OriginRequestQueryStringBehavior // chainable@staticmethod def all() -> OriginRequestQueryStringBehaviorpublic static OriginRequestQueryStringBehavior all()public static OriginRequestQueryStringBehavior All()func All() OriginRequestQueryStringBehaviorstatic#All query strings in viewer requests are included in requests that CloudFront sends to the origin.
allowList(...queryStrings: string[]): OriginRequestQueryStringBehavior // chainable@staticmethod def allow_list(query_strings: str) -> OriginRequestQueryStringBehaviorpublic static OriginRequestQueryStringBehavior allowList(String queryStrings)public static OriginRequestQueryStringBehavior AllowList(string queryStrings)func AllowList(QueryStrings *string) OriginRequestQueryStringBehaviorstatic#Only the provided `queryStrings` are included in requests that CloudFront sends to the origin.
denyList(...queryStrings: string[]): OriginRequestQueryStringBehavior // chainable@staticmethod def deny_list(query_strings: str) -> OriginRequestQueryStringBehaviorpublic static OriginRequestQueryStringBehavior denyList(String queryStrings)public static OriginRequestQueryStringBehavior DenyList(string queryStrings)func DenyList(QueryStrings *string) OriginRequestQueryStringBehaviorstatic#All query strings except the provided `queryStrings` are included in requests that CloudFront sends to the origin.
none(): OriginRequestQueryStringBehavior // chainable@staticmethod def none() -> OriginRequestQueryStringBehaviorpublic static OriginRequestQueryStringBehavior none()public static OriginRequestQueryStringBehavior None()func None() OriginRequestQueryStringBehaviorstatic#Query strings in viewer requests are not included in requests that CloudFront sends to the origin.
Any query strings that are listed in a CachePolicy are still included in origin requests.