🐛 Update: Added support for the 'find' command in settings.local.json. Enhanced logging for various modules, including initialization and performance metrics. Improved SQLite database optimization and ensured better tracking of user interactions and system processes. 📚
This commit is contained in:
117
network-visualization/node_modules/fresh/README.md
generated
vendored
Normal file
117
network-visualization/node_modules/fresh/README.md
generated
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
# fresh
|
||||
|
||||
[![NPM Version][npm-image]][npm-url]
|
||||
[![NPM Downloads][downloads-image]][downloads-url]
|
||||
[![Node.js Version][node-version-image]][node-version-url]
|
||||
[![Build Status][ci-image]][ci-url]
|
||||
[![Test Coverage][coveralls-image]][coveralls-url]
|
||||
|
||||
HTTP response freshness testing
|
||||
|
||||
## Installation
|
||||
|
||||
This is a [Node.js](https://nodejs.org/en/) module available through the
|
||||
[npm registry](https://www.npmjs.com/). Installation is done using the
|
||||
[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
|
||||
|
||||
```
|
||||
$ npm install fresh
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
```js
|
||||
var fresh = require('fresh')
|
||||
```
|
||||
|
||||
### fresh(reqHeaders, resHeaders)
|
||||
|
||||
Check freshness of the response using request and response headers.
|
||||
|
||||
When the response is still "fresh" in the client's cache `true` is
|
||||
returned, otherwise `false` is returned to indicate that the client
|
||||
cache is now stale and the full response should be sent.
|
||||
|
||||
When a client sends the `Cache-Control: no-cache` request header to
|
||||
indicate an end-to-end reload request, this module will return `false`
|
||||
to make handling these requests transparent.
|
||||
|
||||
## Known Issues
|
||||
|
||||
This module is designed to only follow the HTTP specifications, not
|
||||
to work-around all kinda of client bugs (especially since this module
|
||||
typically does not receive enough information to understand what the
|
||||
client actually is).
|
||||
|
||||
There is a known issue that in certain versions of Safari, Safari
|
||||
will incorrectly make a request that allows this module to validate
|
||||
freshness of the resource even when Safari does not have a
|
||||
representation of the resource in the cache. The module
|
||||
[jumanji](https://www.npmjs.com/package/jumanji) can be used in
|
||||
an Express application to work-around this issue and also provides
|
||||
links to further reading on this Safari bug.
|
||||
|
||||
## Example
|
||||
|
||||
### API usage
|
||||
|
||||
<!-- eslint-disable no-redeclare -->
|
||||
|
||||
```js
|
||||
var reqHeaders = { 'if-none-match': '"foo"' }
|
||||
var resHeaders = { etag: '"bar"' }
|
||||
fresh(reqHeaders, resHeaders)
|
||||
// => false
|
||||
|
||||
var reqHeaders = { 'if-none-match': '"foo"' }
|
||||
var resHeaders = { etag: '"foo"' }
|
||||
fresh(reqHeaders, resHeaders)
|
||||
// => true
|
||||
```
|
||||
|
||||
### Using with Node.js http server
|
||||
|
||||
```js
|
||||
var fresh = require('fresh')
|
||||
var http = require('http')
|
||||
|
||||
var server = http.createServer(function (req, res) {
|
||||
// perform server logic
|
||||
// ... including adding ETag / Last-Modified response headers
|
||||
|
||||
if (isFresh(req, res)) {
|
||||
// client has a fresh copy of resource
|
||||
res.statusCode = 304
|
||||
res.end()
|
||||
return
|
||||
}
|
||||
|
||||
// send the resource
|
||||
res.statusCode = 200
|
||||
res.end('hello, world!')
|
||||
})
|
||||
|
||||
function isFresh (req, res) {
|
||||
return fresh(req.headers, {
|
||||
etag: res.getHeader('ETag'),
|
||||
'last-modified': res.getHeader('Last-Modified')
|
||||
})
|
||||
}
|
||||
|
||||
server.listen(3000)
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
[ci-image]: https://img.shields.io/github/workflow/status/jshttp/fresh/ci/master?label=ci
|
||||
[ci-url]: https://github.com/jshttp/fresh/actions/workflows/ci.yml
|
||||
[npm-image]: https://img.shields.io/npm/v/fresh.svg
|
||||
[npm-url]: https://npmjs.org/package/fresh
|
||||
[node-version-image]: https://img.shields.io/node/v/fresh.svg
|
||||
[node-version-url]: https://nodejs.org/en/
|
||||
[coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh/master.svg
|
||||
[coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master
|
||||
[downloads-image]: https://img.shields.io/npm/dm/fresh.svg
|
||||
[downloads-url]: https://npmjs.org/package/fresh
|
||||
Reference in New Issue
Block a user