Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setStaleIfError example
if
(
isset
(
$options
[
's_maxage'
]
)
)
{
$this
->
setSharedMaxAge
(
$options
[
's_maxage'
]
)
;
}
if
(
isset
(
$options
[
'stale_while_revalidate'
]
)
)
{
$this
->
setStaleWhileRevalidate
(
$options
[
'stale_while_revalidate'
]
)
;
}
if
(
isset
(
$options
[
'stale_if_error'
]
)
)
{
$this
->
setStaleIfError
(
$options
[
'stale_if_error'
]
)
;
}
foreach
(
self::HTTP_RESPONSE_CACHE_CONTROL_DIRECTIVES
as
$directive
=>
$hasValue
)
{
if
(
!
$hasValue
&&
isset
(
$options
[
$directive
]
)
)
{
if
(
$options
[
$directive
]
)
{
$this
->headers->
addCacheControlDirective
(
str_replace
(
'_', '-',
$directive
)
)
;
}
else
{
$this
->headers->
removeCacheControlDirective
(
str_replace
(
'_', '-',
$directive
)
)
;
}
}
}
if
(
isset
(
$options
[
's_maxage'
]
)
)
{
$this
->
setSharedMaxAge
(
$options
[
's_maxage'
]
)
;
}
if
(
isset
(
$options
[
'stale_while_revalidate'
]
)
)
{
$this
->
setStaleWhileRevalidate
(
$options
[
'stale_while_revalidate'
]
)
;
}
if
(
isset
(
$options
[
'stale_if_error'
]
)
)
{
$this
->
setStaleIfError
(
$options
[
'stale_if_error'
]
)
;
}
foreach
(
self::HTTP_RESPONSE_CACHE_CONTROL_DIRECTIVES
as
$directive
=>
$hasValue
)
{
if
(
!
$hasValue
&&
isset
(
$options
[
$directive
]
)
)
{
if
(
$options
[
$directive
]
)
{
$this
->headers->
addCacheControlDirective
(
str_replace
(
'_', '-',
$directive
)
)
;
}
else
{
$this
->headers->
removeCacheControlDirective
(
str_replace
(
'_', '-',
$directive
)
)
;
}
}
}
$response
=
new
Response
(
)
;
$response
->
setSharedMaxAge
(
20
)
;
$cacheControl
=
$response
->headers->
get
(
'Cache-Control'
)
;
$this
->
assertEquals
(
'public, s-maxage=20',
$cacheControl
)
;
}
public
function
testSetStaleIfError
(
)
{
$response
=
new
Response
(
)
;
$response
->
setSharedMaxAge
(
20
)
;
$response
->
setStaleIfError
(
86400
)
;
$cacheControl
=
$response
->headers->
get
(
'Cache-Control'
)
;
$this
->
assertEquals
(
'public, s-maxage=20, stale-if-error=86400',
$cacheControl
)
;
}
public
function
testSetStaleWhileRevalidate
(
)
{
$response
=
new
Response
(
)
;
$response
->
setSharedMaxAge
(
20
)
;
$response
->
setStaleWhileRevalidate
(
300
)
;