protected function invalidate(Request $request, $catch = false)
{
if ($request->getMethod() !== 'PURGE' && $request->getMethod() !== 'BAN') {
return parent::invalidate($request, $catch);
}
// Reject all non-authorized clients
if (!$this->isInternalRequestAllowed($request)) {
return new Response('', 405);
}
$response = new Response();
$store = $this->getStore();
if ($store instanceof RequestAwarePurger) {
$result = $store->purgeByRequest($request);
} else {
$result = $store->purge($request->getUri());
}
if ($result === true) {
$response->setStatusCode(200, 'Purged');
} else {
$response->setStatusCode(404, 'Not purged');
}
return $response;
}