Documentation
¶
Index ¶
Constants ¶
View Source
const ( HeaderMaxAge = "max-age" HeaderNoCache = "no-cache" HeaderNoStore = "no-store" HeaderMaxStale = "max-stale" HeaderMinFresh = "min-fresh" HeaderNoTransform = "no-transform" HeaderOnlyIfCached = "only-if-cached" HeaderPublic = "public" HeaderPrivate = "private" HeaderSMaxAge = "s-maxage" HeaderImmutable = "immutable" HeaderStaleIfError = "stale-if-error" HeaderMustRevalidate = "must-revalidate" HeaderProxyRevalidate = "proxy-revalidate" HeaderStaleWhileRevalidate = "stale-while-revalidate" )
Cacheable HTTP header directives
Variables ¶
View Source
var ( ErrMaxAgeDeltaSeconds = errors.New("invalid delta-seconds value in `max-age` directive") ErrSMaxAgeDeltaSeconds = errors.New("invalid delta-seconds value in `s-maxage` directive") ErrMaxStaleDeltaSeconds = errors.New("invalid delta-seconds value in `max-stale` directive") ErrMinFreshDeltaSeconds = errors.New("invalid delta-seconds value in `min-fresh` directive") ErrStaleIfErrorDeltaSeconds = errors.New("invalid delta-seconds value in `stale-if-error` directive") ErrStaleWhileRevalidateDeltaSeconds = errors.New("invalid delta-seconds value in `stale-while-revalidate` directive") ErrPublicDirectiveValue = errors.New("public directive does not accept a value") ErrNoCacheDirectiveValue = errors.New("no-cache directive does not accept a value") ErrNoStoreDirectiveValue = errors.New("no-store directive does not accept a value") ErrImmutableDirectiveValue = errors.New("immutable directive does not accept a value") ErrNoTransformDirectiveValue = errors.New("no-transform directive does not accept a value") ErrOnlyIfCachedDirectiveValue = errors.New("only-if-cached directive does not accept a value") ErrMustRevalidateDirectiveValue = errors.New("must-revalidate directive does not accept a value") ErrProxyRevalidateDirectiveValue = errors.New("proxy-revalidate directive does not accept a value") )
View Source
var (
ErrMissingClosingQuote = errors.New("missing closing quote")
)
Functions ¶
This section is empty.
Types ¶
type RequestCacheDirective ¶
type RequestCacheDirective struct { // max-age // MaxAge is the maximum time in seconds that a response can be considered fresh. // The client is not willing to accept a stale response if the max-stale directive // is not present. MaxAge int32 // max-stale // MaxStale is the maximum time in seconds that a client is willing to accept a // stale response that has exceeded its freshness lifetime. MaxStale int32 // min-fresh // MinFresh is the minimum time in seconds that a response must remain fresh, // calculated as the difference between its freshness lifetime and its current age. MinFresh int32 // no-cache // NoCache is a boolean value that indicates whether a cache should validate // the response with the origin server before using a stored response to satisfy // the request. NoCache bool // no-store // NoStore is a boolean value that indicates whether a cache should store // any part of the request or response. NoStore bool // only-if-cached // OnlyIfCached is a boolean value that indicates whether the client only // wants to obtain a stored response and not send a request to the origin server. OnlyIfCached bool // Extensions is a list of cache-extension tokens with optional values // that can be used to extend the Cache-Control header field. Extensions []string }
func NewRequestCacheDirective ¶
func NewRequestCacheDirective(value string) (*RequestCacheDirective, error)
type ResponseCacheDirective ¶
type ResponseCacheDirective struct { // MustRevalidate is a boolean value that indicates whether a cache // must revalidate a stored response on every request. MustRevalidate bool // NoCache is a map of field-name to boolean values that indicates whether // a cache should not use a stored response to satisfy a request if any of the // request-header field names are present in the list. NoCache map[string]bool // NoCachePresent is a boolean value that indicates whether the no-cache // directive was present in the response. NoCachePresent bool // NoStore is a boolean value that indicates whether a cache should not // store any part of the response or request. NoStore bool // NoTransform is a boolean value that indicates whether a cache should // not transform the response payload. NoTransform bool // Public is a boolean value that indicates whether the response is // considered public, meaning it can be cached by any cache. Public bool // Private is a map of field-name to boolean values that indicates whether // the response is considered private, meaning it can only be cached by a cache // that is specific to a particular user. Private map[string]bool // PrivatePresent is a boolean value that indicates whether the private // directive was present in the response. PrivatePresent bool // ProxyRevalidate is a boolean value that indicates whether a cache must // revalidate a stored response on every request when the response was obtained // from a proxy cache. ProxyRevalidate bool // MaxAge is the maximum time in seconds that a response can be considered fresh. MaxAge int32 // SMaxAge is the maximum time in seconds that a shared cache can consider // a response to be fresh. SMaxAge int32 // Immutable is a boolean value that indicates whether the response payload // is considered immutable and can be cached indefinitely. Immutable bool // StaleIfError is the maximum time in seconds that a cache can serve a stale // response when an error occurs. StaleIfError int32 // StaleWhileRevalidate is the maximum time in seconds that a cache can serve // a stale response while a background revalidation is being performed. StaleWhileRevalidate int32 // Extensions is a list of cache-extension tokens with optional values // that can be used to extend the Cache-Control header field. Extensions []string }
func NewResponseCacheDirective ¶
func NewResponseCacheDirective(value string) (*ResponseCacheDirective, error)
Click to show internal directories.
Click to hide internal directories.