Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Provides a Drupal cache backend for Kevinrob/guzzle-cache-middleware.
Usage
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use Kevinrob\GuzzleCache\CacheMiddleware;
use Kevinrob\GuzzleCache\Strategy\PrivateCacheStrategy;
use Drupal\guzzle_cache\DrupalGuzzleCache;
// Create default HandlerStack
$stack = HandlerStack::create();
// Create a Drupal Guzzle cache. Its' useful to have a separate cache bin to
// manage independent of other cache bins. Here is how you might define such a
// cache bin in a *.service.yml file:
// cache.my_custom_http_cache_bin:
// class: Drupal\Core\Cache\CacheBackendInterface
// tags:
// - { name: cache.bin }
// factory: cache_factory:get
// arguments: [my_custom_http_cache_bin]
$cache = new DrupalGuzzleCache(\Drupal::service('cache.my_custom_http_cache_bin'));
// Push the cache to the stack.
$stack->push(
new CacheMiddleware(
new PrivateCacheStrategy($cache)
),
'cache'
);
// Initialize the client with the handler option
$client = new Client(['handler' => $stack]);
// Fetch the URI cached if available.
$response = $client->request('GET', 'http://www.example.com/');
Supporting organizations:
Development
Project information
- 120 sites report using this module
- Created by Dave Reid on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.