A backend wrapper which implements caching of HTTP responses.
Caching happens when response-as description is "cache-friendly". This excludes non-blocking streaming responses, file-based responses and WebSockets. Additionally, caching eligibility & duration is determined by the config. See CachingConfig.Default for the default behavior.
For requests which might be cached, the response's body is read into a byte array. If the response is then determined to be cacheable, it is serialized and stored in the cache. After that, the response body is adjusted as specified by response-as and returned to the user.
For details on how the cache key is created, and the responses are serialized/deserialized, see CachingConfig.
The cache will be closed (using Cache.close) when this backend is closed.
Value parameters
- cache
-
The cache where responses will be stored. Must use the same effect type as the backend. If the backend and cache are both synchronous, this should be sttp.shared.Identity.
- config
-
The caching backend configuration.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
class DelegateBackend[F, P]trait GenericBackend[F, P]class Objecttrait Matchableclass Any