tiny-etag v4.0.5
tiny-etag
ETag middleware for express.js API compatible routers.
Using the factory
import {etag} from "tiny-etag";
const etags = etag({cacheSize: 500});
const router = SomeRouter(); /* express.js compatible router */
router.use(etags.middleware);
router.get("/", (req, res) => {
const body = "Hello World!";
res.writeHead(200, {"content-type": "text/plain", "etag": etags.create(body)});
res.end(body);
});Testing
Tiny ETag has 100% code coverage with its tests.
---------------|---------|----------|---------|---------|---------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------|---------|----------|---------|---------|---------------------
All files | 100 | 78.57 | 100 | 100 |
tiny-etag.cjs | 100 | 78.57 | 100 | 100 | 45-49,59,91-109,115
---------------|---------|----------|---------|---------|---------------------API
etag({cacheSize: 1000, cacheTTL: 0, seed: random, mimetype: "text/plain"})
Returns an tiny-etag instance. Cache TTL concerns do not spread with a notification.
create(arg = "", mimetype = "text/plain")
Creates a strong ETag value from arg; a composite String is recommended. It's ideal to
hash(arg = "", mimetype="text/plain")
Creates a hash of arg, uses create()
keep(arg)
Returns a boolean if arg should be kept on the cached Object
middleware(req, res, next)
Middleware to be used by an http framework
parse(arg)
Parses arg as a URL if it's a String, or constructs one if it is a socket
register(url, state)
Adds url to the cache
valid(headers)
Returns a Boolean indicating if caching is valid based on cache-control
License
Copyright (c) 2023 Jason Mulligan Licensed under the BSD-3 license
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
5 years ago
5 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago