You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
arnaucode 112745d6fa init 7 years ago
..
HISTORY.md init 7 years ago
LICENSE init 7 years ago
README.md init 7 years ago
index.js init 7 years ago
package.json init 7 years ago

README.md

etag

NPM Version NPM Downloads Node.js Version Build Status Test Coverage

Create simple ETags

Installation

$ npm install etag

API

var etag = require('etag')

etag(entity, [options])

Generate a strong ETag for the given entity. This should be the complete body of the entity. Strings, Buffers, and fs.Stats are accepted. By default, a strong ETag is generated except for fs.Stats, which will generate a weak ETag (this can be overwritten by options.weak).

res.setHeader('ETag', etag(body))

Options

etag accepts these properties in the options object.

weak

Specifies if a "strong" or a "weak" ETag will be generated. The ETag can only really be a strong as the given input.

Testing

$ npm test

Benchmark

$ npm run-script bench

> etag@1.5.1 bench nodejs-etag
> node benchmark/index.js

> node benchmark/body0-100b.js

  100B body

  1 test completed.
  2 tests completed.
  3 tests completed.
  4 tests completed.

  buffer - strong x   425,007 ops/sec ±1.47% (184 runs sampled)
* buffer - weak   x 1,009,859 ops/sec ±0.18% (197 runs sampled)
  string - strong x   442,096 ops/sec ±1.20% (181 runs sampled)
  string - weak   x   325,063 ops/sec ±0.31% (192 runs sampled)

> node benchmark/body1-1kb.js

  1KB body

  1 test completed.
  2 tests completed.
  3 tests completed.
  4 tests completed.

  buffer - strong x 263,069 ops/sec ±1.60% (190 runs sampled)
* buffer - weak   x 295,732 ops/sec ±0.43% (199 runs sampled)
  string - strong x 274,822 ops/sec ±1.15% (191 runs sampled)
  string - weak   x 169,473 ops/sec ±1.59% (194 runs sampled)

> node benchmark/body2-5kb.js

  5KB body

  1 test completed.
  2 tests completed.
  3 tests completed.
  4 tests completed.

  buffer - strong x 104,299 ops/sec ±0.60% (193 runs sampled)
* buffer - weak   x 108,126 ops/sec ±0.65% (196 runs sampled)
  string - strong x 101,736 ops/sec ±0.78% (194 runs sampled)
  string - weak   x 101,266 ops/sec ±0.85% (192 runs sampled)

> node benchmark/body3-10kb.js

  10KB body

  1 test completed.
  2 tests completed.
  3 tests completed.
  4 tests completed.

  buffer - strong x 59,007 ops/sec ±0.29% (198 runs sampled)
* buffer - weak   x 60,968 ops/sec ±0.48% (197 runs sampled)
  string - strong x 51,873 ops/sec ±1.78% (178 runs sampled)
  string - weak   x 52,307 ops/sec ±2.63% (193 runs sampled)

> node benchmark/body4-100kb.js

  100KB body

  1 test completed.
  2 tests completed.
  3 tests completed.
  4 tests completed.

  buffer - strong x 6,712 ops/sec ±0.11% (198 runs sampled)
* buffer - weak   x 6,716 ops/sec ±0.50% (196 runs sampled)
  string - strong x 6,397 ops/sec ±0.36% (196 runs sampled)
  string - weak   x 6,635 ops/sec ±0.15% (198 runs sampled)

License

MIT