cacheability
A utility class to parse, store and print http cache headers.
Installation
yarn add cacheability
Documentation
Initialization
The constructor takes either a Headers instance, object literal of header key/values, cache-control header field value
or Cacheability metadata object, parses it, if required, and then stores the result on the Cacheability instance's
metadata property.
import { Cacheability } from "cacheability";
const headers = new Headers({
"cache-control": "public, max-age=60",
"content-type": "application/json",
"etag": "33a64df551425fcc55e4d42a148795d9f25f89d4",
});
const cacheability = new Cacheability({ headers });
const { cacheControl, etag, ttl } = cacheability.metadata;
Properties
metadata
The property holds the Cacheability instance's parsed cache headers data, including cache control directives, etag,
and a derived TTL timestamp.
Methods
checkTTL
The method checks whether the TTL timestamp stored in the Cacheability instance is still valid, by comparing it to the
current timestamp.
const cacheability = new Cacheability({ cacheControl: "public, max-age=3" });
const isValid = cacheability.checkTTL();
const isStillValid = cacheability.checkTTL();
printCacheControl
The method prints a cache-control header field value based on the Cacheability instance's metadata. The max-age and/or
s-maxage are derived from the TTL stored in the metadata.
const cacheability = new Cacheability({ cacheControl: "public, max-age=60, s-maxage=60" });
const cacheControl = cacheability.printCacheControl();
Additional documentation can be found on the Cacheability github pages.
Changelog
Check out the features, fixes and more that go into each major, minor and patch version.
License
Cacheability is MIT Licensed.