Advertisement
bpinhosilva

cacheable middleware usage

Jul 6th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // before
  2. router.get('/:id(\\d+)', (req, res, next) => {
  3.     cacheClient.getAsync(cacheKey).then(cacheObj => {
  4.         if(cacheObj) {
  5.             debug("got from cache");
  6.             return res.send(JSON.parse(cacheObj));
  7.         } else {
  8.             let params = {
  9.                 idStore   : req.idStore,
  10.                 idCatalog : req.params.id,
  11.                 start     : parseInt(req.query.start),
  12.                 end       : parseInt(req.query.end)
  13.             };
  14.  
  15.             catalogBusiness.getEditorialCatalogByIdStore(params).then(catalog => {
  16.                 if (!lodash.isEmpty(catalog)) {
  17.                     debug("setting cache value for ", cacheKey);
  18.                     cacheClient.setAsync(cacheKey, JSON.stringify(catalog));
  19.                 }
  20.                 return res.send(catalog);
  21.             }).catch(err => {
  22.                 debug(err);
  23.                 next(err);
  24.             });
  25.         }
  26.     });
  27. });
  28.  
  29. // after
  30. router.get('/:id(\\d+)', cacheable(), (req, res, next) => {
  31.     let params = {
  32.         idStore   : req.idStore,
  33.         idCatalog : req.params.id,
  34.         start     : parseInt(req.query.start),
  35.         end       : parseInt(req.query.end)
  36.     };
  37.  
  38.     catalogBusiness.getEditorialCatalogByIdStore(params).then(catalog => {
  39.         return res.send(catalog);
  40.     }).catch(err => {
  41.         debug(err);
  42.         next(err);
  43.     });
  44. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement