Skip to content

shivarajnaidu/http-cacher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

http-cacher

Simple HTTP cache middleware for express js applications

Usage

If you want to apply for all requests...

const httpCacher = require('http-cacher');
app.use(httpCacher({ maxAge: 300})); // 300 seconds

You can also write the above example like this..

const httpCacher = require('http-cacher');
app.use(httpCacher({ maxAge: '300s'})); // 300 seconds

If you want to apply for specific end-point...

const httpCacher = require('http-cacher');
app.use('/api/v1', httpCacher({ maxAge: '1d'}));

If you want to apply for specific http method

const httpCacher = require('http-cacher');
app.get('/api/v1/books', httpCacher({ maxAge: '1d'}), (req, res, next) => {
    res.json({
        books: [
            'Eloquent JavaScript: A Modern Introduction to Programming',
            'JavaScript: The Good Parts',
            'JavaScript for Kids: A Playful Introduction to Programming'
        ]
    });
});

If you want to apply headers conditionally... (You can pass custom function as second argument)

const httpCacher = require('http-cacher');
const zeroCacheAdmin = (req) => {
  if (req.tokenData?.role === ADMIN) {
    return false;
  }

  return true;
};

app.use(httpCacher({ maxAge: '1d'}, zeroCacheAdmin));

If you want to apply set cache as private

const httpCacher = require('http-cacher');
app.use(httpCacher({ maxAge: '1m', isPrivate: true})); // 1 minute

About

Simple HTTP cache middleware for express js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published