CachePolicy class final
Message containing CachePolicy configuration for URL Map's Route Action.
Constructors
-
CachePolicy({List<
String> cacheBypassRequestHeaderNames = const [], CachePolicyCacheKeyPolicy? cacheKeyPolicy, String? cacheMode, Duration? clientTtl, Duration? defaultTtl, Duration? maxTtl, bool? negativeCaching, List<CachePolicyNegativeCachingPolicy> negativeCachingPolicy = const [], bool? requestCoalescing, Duration? serveWhileStale}) - CachePolicy.fromJson(Object? j)
-
factory
Properties
-
cacheBypassRequestHeaderNames
→ List<
String> -
Bypass the cache when the specified request headers are matched by name,
e.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5
header names can be specified. The cache is bypassed for all
cacheModevalues.final - cacheKeyPolicy → CachePolicyCacheKeyPolicy?
-
The cache key configuration. If not specified, the default behavior depends
on the backend type: for Backend Services, the complete request URI is
used; for Backend Buckets, the request URI is used without the protocol or
host, and only query parameters known to Cloud Storage are included.
final
- cacheMode → String?
-
Specifies the cache setting for all responses from this route. If not
specified, Cloud CDN uses
CACHE_ALL_STATICmode. Check the CacheMode enum for the list of possible values.final - clientTtl → Duration?
-
Specifies a separate client (e.g. browser client) maximum TTL for cached
content. This is used to clamp the max-age (or Expires) value sent to the
client. With
FORCE_CACHE_ALL, the lesser ofclientTtlanddefaultTtlis used for the response max-age directive, along with a "public" directive. For cacheable content inCACHE_ALL_STATICmode,clientTtlclamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of theclientTtlanddefaultTtl, and also ensures a "public" cache-control directive is present. The maximum allowed value is 31,622,400s (1 year). If not specified, Cloud CDN uses 3600s (1 hour) forCACHE_ALL_STATICmode. Cannot exceedmaxTtl. Cannot be specified whencacheModeisUSE_ORIGIN_HEADERS.final - defaultTtl → Duration?
-
Specifies the default TTL for cached content for responses that do not have
an existing valid TTL (max-age or s-maxage). Setting a TTL of "0" means
"always revalidate". The value of
defaultTtlcannot be set to a value greater than that ofmaxTtl. When thecacheModeis set toFORCE_CACHE_ALL, thedefaultTtlwill overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year). Infrequently accessed objects may be evicted from the cache before the defined TTL. If not specified, Cloud CDN uses 3600s (1 hour) forCACHE_ALL_STATICandFORCE_CACHE_ALLmodes. Cannot be specified whencacheModeisUSE_ORIGIN_HEADERS.final - hashCode → int
-
The hash code for this object.
no setterinherited
- maxTtl → Duration?
-
Specifies the maximum allowed TTL for cached content. Cache directives that
attempt to set a max-age or s-maxage higher than this, or an Expires header
more than
maxTtlseconds in the future will be capped at the value ofmaxTtl, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of "0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year). Infrequently accessed objects may be evicted from the cache before the defined TTL. If not specified, Cloud CDN uses 86400s (1 day) forCACHE_ALL_STATICmode. Can be specified only forCACHE_ALL_STATICcache mode.final - negativeCaching → bool?
-
Negative caching allows per-status code TTLs to be set, in order
to apply fine-grained caching for common errors or redirects.
This can reduce the load on your origin and improve end-user
experience by reducing response latency.
When the
cacheModeis set toCACHE_ALL_STATICorUSE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When thecacheModeis set toFORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and overrides any caching headers. By default, Cloud CDN applies the following TTLs to these HTTP status codes:final -
negativeCachingPolicy
→ List<
CachePolicyNegativeCachingPolicy> -
Sets a cache TTL for the specified HTTP status code.
negativeCachingmust be enabled to configurenegativeCachingPolicy. Omitting the policy and leavingnegativeCachingenabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicitnegativeCachingPolicy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.final - qualifiedName → String
-
The fully qualified name of this message, i.e.,
google.protobuf.Durationorgoogle.rpc.ErrorInfo.finalinherited - requestCoalescing → bool?
-
If true then Cloud CDN will combine multiple concurrent cache fill
requests into a small number of requests to the origin. If not specified,
Cloud CDN applies request coalescing by default.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serveWhileStale → Duration?
-
Serve existing content from the cache (if available) when revalidating
content with the origin, or when an error is encountered when refreshing
the cache.
This setting defines the default "max-stale" duration for any cached
responses that do not specify a max-stale directive. Stale responses that
exceed the TTL configured here will not be served. The default limit
(max-stale) is 86400s (1 day), which will allow stale content to be
served up to this limit beyond the max-age (or s-maxage) of a cached
response.
The maximum allowed value is 604800 (1 week).
Set this to zero (0) to disable serve-while-stale.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Object -
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- fullyQualifiedName → const String