express-cache-file
Version:
Express middleware to cache static files in server memory
36 lines (30 loc) • 834 B
text/typescript
import express, { Request, Response } from 'express';
import { join } from 'path';
import cacheFile from '../src';
let app = express();
// blacklist
let rejectFile = (req: Request, res: Response) => {
res.status(403).end(`${req.method} ${req.originalUrl} 403 Forbidden`);
};
app.use('/*.gitignore', rejectFile);
app.use('/*.git/*', rejectFile);
// serve static files
let root = join(__dirname, 'public');
app.use(
cacheFile(root, {
cacheSize: '50mb',
update: {
expire: '5 seconds',
mode: 'cache_first',
},
}),
);
// apis
app.get('/user', (req, res) => res.json({ type: 'from api' }));
app.get('/user/:id', (req, res) =>
res.json({ params: req.params, query: req.query }),
);
let port = process.env.PORT || 8100;
app.listen(port, () => {
console.log('listening on http://localhost:' + port);
});