NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class DefaultRevalidation

Default revalidation strategy

  Guzzle\Plugin\Cache\DefaultRevalidation implements Guzzle\Plugin\Cache\RevalidationInterface

### Direct known subclasses

`Guzzle\Plugin\Cache\DenyRevalidation`, `Guzzle\Plugin\Cache\SkipRevalidation`

Namespace: Guzzle\Plugin\Cache
Located at Guzzle/Plugin/Cache/DefaultRevalidation.php

## Methods summary

- `public` `__construct ( Guzzle\Plugin\Cache\CacheStorageInterface $cache, Guzzle\Plugin\Cache\CanCacheStrategyInterface $canCache = null )`
- `public` `revalidate ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response )`

  Performs a cache revalidation

- `public` `shouldRevalidate ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response )`

  Returns true if the response should be revalidated

- `protected` `handleBadResponse ( Guzzle\Http\Exception\BadResponseException $e )`

  Handles a bad response when attempting to revalidate

- `protected` `createRevalidationRequest ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response )`

  Creates a request to use for revalidation

- `protected` `handle200Response ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $validateResponse )`

  Handles a 200 response response from revalidating. The server does not support validation, so use this response.

- `protected` `handle304Response ( Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $validateResponse, Guzzle\Http\Message\Response $response )`

  Handle a 304 response and ensure that it is still valid

## Methods detail

# `public`
`__construct( `Guzzle\Plugin\Cache\CacheStorageInterface` $cache, `Guzzle\Plugin\Cache\CanCacheStrategyInterface` $canCache = null )`

#### Parameters

$cache
  ``Guzzle\Plugin\Cache\CacheStorageInterface``
  $cache Cache storage
$canCache
  ``Guzzle\Plugin\Cache\CanCacheStrategyInterface``
  $canCache Determines if a message can be cached

# `public boolean`
`revalidate( `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Http\Message\Response` $response )`

Performs a cache revalidation

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to revalidate
$response
  ``Guzzle\Http\Message\Response``
  $response Response that was received

#### Returns

`boolean`
Returns true if the request can be cached

#### Implementation of

`Guzzle\Plugin\Cache\RevalidationInterface::revalidate()`
# `public boolean`
`shouldRevalidate( `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Http\Message\Response` $response )`

Returns true if the response should be revalidated

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to check
$response
  ``Guzzle\Http\Message\Response``
  $response Response to check

#### Returns

`boolean`

#### Implementation of

`Guzzle\Plugin\Cache\RevalidationInterface::shouldRevalidate()`
# `protected`
`handleBadResponse( `Guzzle\Http\Exception\BadResponseException` $e )`

Handles a bad response when attempting to revalidate

#### Parameters

$e
  ``Guzzle\Http\Exception\BadResponseException``
  $e Exception encountered

#### Throws

``Guzzle\Http\Exception\BadResponseException``
# `protected `Guzzle\Http\Message\RequestInterface``
`createRevalidationRequest( `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Http\Message\Response` $response )`

Creates a request to use for revalidation

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request
$response
  ``Guzzle\Http\Message\Response``
  $response Response to revalidate

#### Returns

``Guzzle\Http\Message\RequestInterface``
returns a revalidation request
# `protected boolean`
`handle200Response( `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Http\Message\Response` $validateResponse )`

Handles a 200 response response from revalidating. The server does not support validation, so use this response.

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request that was sent
$validateResponse
  ``Guzzle\Http\Message\Response``
  $validateResponse Response received

#### Returns

`boolean`
Returns true if valid, false if invalid
# `protected boolean`
`handle304Response( `Guzzle\Http\Message\RequestInterface` $request, `Guzzle\Http\Message\Response` $validateResponse, `Guzzle\Http\Message\Response` $response )`

Handle a 304 response and ensure that it is still valid

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request that was sent
$validateResponse
  ``Guzzle\Http\Message\Response``
  $validateResponse Response received
$response
  ``Guzzle\Http\Message\Response``
  $response Original cached response

#### Returns

`boolean`
Returns true if valid, false if invalid

### Magic methods summary

## Properties summary

`protected `Guzzle\Plugin\Cache\CacheStorageInterface`` | $storage | # Cache object storing cache data
`protected `Guzzle\Plugin\Cache\CanCacheStrategyInterface`` | $canCache | #