No cache in Node.js server

Make use of a middleware to add no-cache headers. Use this middleware where-ever you intend to turn caching off.

function nocache(req, res, next) {
  res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
  res.header('Expires', '-1');
  res.header('Pragma', 'no-cache');
  next();
}

Use the middleware in your routes definition:

app.get('/getfile', nocache, sendContent);

function sendContent(req, res) {
  var localPath="some-file";
  var mimeType="";
  fs.readFile(localPath, 'utf8', function (err, contents) {
    if (!err && contents) {
      res.header('Content-Type', mimeType);
      res.header('Content-Length', contents.length);
      res.end(contents);
    } else {
      res.writeHead(500);
      res.end();
    }
  });
}

Let me know if this works for you.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)