https://github.com/okdistribute/fs-cache-middleware
A streaming cache for any filesystem
https://github.com/okdistribute/fs-cache-middleware
Last synced: 3 months ago
JSON representation
A streaming cache for any filesystem
- Host: GitHub
- URL: https://github.com/okdistribute/fs-cache-middleware
- Owner: okdistribute
- License: mit
- Created: 2020-08-26T23:51:27.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-27T00:15:52.000Z (almost 5 years ago)
- Last Synced: 2025-02-15T05:07:26.953Z (4 months ago)
- Language: JavaScript
- Size: 6.84 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fs-cache-middleware
A streaming cache for any filesystem
```
npm install fs-cache-middleware
```Similar to [express-asset-file-cache-middleware](https://www.npmjs.com/package/express-asset-file-cache-middleware), but doesn't require express and supports streaming payloads.
## Usage
```js
const fileCacheMiddleware = require('fs-cache-middleware')function getAsset (url, params) {
return {
contentType: 'image/png',
contentLength, // if known
stream: streamingFetch('https://get/that/asset.png')
}
}var cache = fileCacheMiddleware(getAsset, {
maxSize: 10 * 1024 * 1024 * 1024
cacheDir: '/tmp'
})http.createServer(funcrion (req, res) {
// Pass extra parameters on the fly with the request
var params = { token: 'my-token' }
cache(req, res, params, (err) => {
if (err) {
logger.error(err)
res.statusCode = 500
res.end(err.message)
}
})
}
```