4.0.5 • Published 2 years ago

tiny-etag v4.0.5

Weekly downloads
14
License
BSD-3-Clause
Repository
github
Last release
2 years ago

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

4.0.5

2 years ago

4.0.4

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.0.3

2 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.16

6 years ago

2.0.15

6 years ago

2.0.14

6 years ago

2.0.13

6 years ago

2.0.12

6 years ago

2.0.11

6 years ago

2.0.10

6 years ago

2.0.9

7 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.5.16

7 years ago

1.5.15

7 years ago

1.5.14

7 years ago

1.5.13

7 years ago

1.5.12

7 years ago

1.5.11

7 years ago

1.5.10

7 years ago

1.5.9

7 years ago

1.5.8

7 years ago

1.5.7

7 years ago

1.5.6

7 years ago

1.5.5

7 years ago

1.5.4

7 years ago

1.5.3

7 years ago

1.5.2

7 years ago

1.5.1

7 years ago

1.5.0

7 years ago

1.4.9

7 years ago

1.4.8

7 years ago

1.4.7

7 years ago

1.4.6

7 years ago

1.4.5

7 years ago

1.4.4

7 years ago

1.4.3

7 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

8 years ago

1.3.13

8 years ago

1.3.12

8 years ago

1.3.11

8 years ago

1.3.10

8 years ago

1.3.9

8 years ago

1.3.8

8 years ago

1.3.7

8 years ago

1.3.6

8 years ago

1.3.5

8 years ago

1.3.4

8 years ago

1.3.3

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.8

8 years ago

1.2.7

8 years ago

1.2.6

9 years ago

1.2.5

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.0.11

9 years ago

1.0.10

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

9 years ago

1.0.6

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago

1.1.0

9 years ago