Guzzle Cache
159 sites
Security covered
Drupal 10–11
This module provides a Drupal cache backend for Guzzle, a popular HTTP client library. It allows you to cache HTTP requests made by Guzzle directly within Drupal's caching system, improving performance by avoiding redundant requests.
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/');
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.