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.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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport