Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Cache Plugin Laravel Package

php-http/cache-plugin

PSR-6 cache plugin for HTTPlug clients. Automatically caches HTTP responses (and can serve stale on error) with configurable cache strategies, TTL, and cache key generation. Drop it into your plugin chain to cut latency and reduce repeated requests.

View on GitHub
Deep Wiki
Context7
2.1.0

Added

  • Added EtagCachePlugin to cache only ETag-backed responses and always revalidate them before serving cached bodies.
2.0.2
  • Support Symfony 8.
  • Test with PHP 8.5.
2.0.1
  • Test with PHP 8.3 and 8.4.
2.0.0

Changed

  • Drop support of deprecated PHP-HTTP StreamFactory, only PSR-17 StreamFactoryInterface is now supported.

Version 1

1.8.1
  • Allow installation with Symfony 7.
1.8.0
  • Avoid PHP warning about serializing resources when serializing the response by detaching the stream.
1.7.6
  • Test with PHP 8.1 and 8.2
  • Made phpspec tests compatible with PSR-7 2.0 strict typing
  • Detect null and use 0 explicitly to calculate expiration
1.7.5
  • Allow installation with psr/cache 3.0 (1.0 and 2.0 are still allowed too)
1.7.4

Added

  • Allow installation with Symfony 6
1.7.3

Changed

  • Be more defensive about cache hits. A cache entry can technically contain null.
1.7.2

Added

  • Allow installation with psr/cache 2.0 (1.0 still allowed too)
1.7.1

Added

  • Support for PHP 8
1.7.0

Added

  • Support for Symfony 5.
  • Support for PSR-17 StreamFactoryInterface.
  • Added blacklisted_paths option, which takes an array of strings (regular expressions) and allows to define paths, that shall not be cached in any case.
1.6.0

Added

  • Support for HTTPlug 2 / PSR-18
  • Added cache_listeners option, which takes an array of CacheListeners, who get notified and can optionally act on a Response based on a cache hit or miss event. An implementation, AddHeaderCacheListener, is provided which will add an X-Cache header to the response with this information.
1.5.0

Added

  • Support for Symfony 4

Changed

  • Removed check if etag is a string. Etag can never be a string, it is always an array.
1.4.0

Added

  • CacheKeyGenerator interface that allow you to configure how the PSR-6 cache key is created. There are two implementations of this interface: SimpleGenerator (default) and HeaderCacheKeyGenerator.

Fixed

  • Issue where deprecation warning always was triggered. Not it is just triggered if respect_cache_headers is used.
1.3.0

Added

  • New methods option which allows to configure the request methods which can be cached.
  • New respect_response_cache_directives option to define specific cache directives to respect when handling responses.
  • Introduced CachePlugin::clientCache and CachePlugin::serverCache factory methods to easily setup the plugin with the correct config settigns for each usecase.

Changed

  • The no-cache directive is now respected by the plugin and will not cache the response. If you need the previous behaviour, configure respect_response_cache_directives.
  • We always rewind the stream after loading response from cache.

Deprecated

  • The respect_cache_headers option is deprecated and will be removed in 2.0. This option is replaced by the new respect_response_cache_directives option. If you had set respect_cache_headers to false, set the directives to [] to ignore all directives.
1.2.0

Changed

  • The default value for default_ttl is changed from null to 0.

Fixed

  • Issue when you use respect_cache_headers=>false in combination with default_ttl=>null.
  • We allow cache_lifetime to be set to null.
1.1.0

Added

  • Support for cache validation with ETag and Last-Modified headers. (Enabled automatically when the server sends the relevant headers.)
  • hash_algo config option used for cache key generation (defaults to sha1).

Changed

  • Default hash algo used for cache generation (from md5 to sha1).

Fixed

  • Cast max age header to integer in order to get valid expiration value.
1.0.0
  • Initial release
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope