Invalidates non-safe methods (like POST, PUT, and DELETE).
Request $request A Request instance:
Boolean $catch Whether to process exceptions:
\Exception
RFC2616 13.10
protected function invalidate(Request $request, $catch = false) {
$response = $this
->pass($request, $catch);
// invalidate only when the response is successful
if ($response
->isSuccessful() || $response
->isRedirect()) {
try {
$this->store
->invalidate($request, $catch);
// As per the RFC, invalidate Location and Content-Location URLs if present
foreach (array(
'Location',
'Content-Location',
) as $header) {
if ($uri = $response->headers
->get($header)) {
$subRequest = $request::create($uri, 'get', array(), array(), array(), $request->server
->all());
$this->store
->invalidate($subRequest);
}
}
$this
->record($request, 'invalidate');
} catch (\Exception $e) {
$this
->record($request, 'invalidate-failed');
if ($this->options['debug']) {
throw $e;
}
}
}
return $response;
}