Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
purgeAll example
private
function
invalidateWithStore
(
?string
$cacheId
= null
)
: bool
{
/** @var HttpCache $httpCache */
$httpCache
=
$this
->
get
(
'httpcache'
)
;
/** @var Store $store */
$store
=
$httpCache
->
getStore
(
)
;
if
(
!
$cacheId
)
{
return
$store
->
purgeAll
(
)
;
}
return
$store
->
purgeByHeader
(
'x-shopware-cache-id',
$cacheId
)
;
}
/** * Adds HTTP headers to specify that the Response needs to be parsed for ESI. * * This method only adds an ESI HTTP header if the Response has some ESI tags. * * @param Response $response A Response instance */
if
(
!
$this
->
isPurgeRequestAllowed
(
$request
)
)
{
return
new
Response
(
'', 405
)
;
}
$response
=
new
Response
(
)
;
if
(
$request
->
getMethod
(
)
=== 'BAN'
)
{
if
(
$request
->headers->
has
(
'x-shopware-invalidates'
)
)
{
$cacheId
=
$request
->headers->
get
(
'x-shopware-invalidates'
)
;
$result
=
$this
->
getStore
(
)
->
purgeByHeader
(
'x-shopware-cache-id',
$cacheId
)
;
}
else
{
$result
=
$this
->
getStore
(
)
->
purgeAll
(
)
;
}
if
(
$result
)
{
$response
->
setStatusCode
(
Response::HTTP_OK, 'Banned'
)
;
}
else
{
$response
->
setStatusCode
(
Response::HTTP_OK, 'Not Banned'
)
;
}
}
elseif
(
$request
->
getMethod
(
)
=== 'PURGE'
)
{
if
(
$this
->
getStore
(
)
->
purge
(
$request
->
getUri
(
)
)
)
{
$response
->
setStatusCode
(
Response::HTTP_OK, 'Purged'
)
;
}
else
{