aboutsummaryrefslogblamecommitdiffhomepage
path: root/server/middlewares/cache.ts
blob: 0708ee8e8cc3b353421aa8acd6528b15ea4e1f19 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                    
                                    
                                                                               
 
                              
 
                        
                                          
                                              


                                   
   
 


                                                            
 

                                                                              
            
 
import { Redis } from '../lib/redis'
import * as apicache from 'apicache'
import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes'

// Ensure Redis is initialized
Redis.Instance.init()

const defaultOptions = {
  redisClient: Redis.Instance.getClient(),
  appendKey: () => Redis.Instance.getPrefix(),
  statusCodes: {
    exclude: [
      HttpStatusCode.FORBIDDEN_403,
      HttpStatusCode.NOT_FOUND_404
    ]
  }
}

const cacheRoute = (extraOptions = {}) => apicache.options({
  ...defaultOptions,
  ...extraOptions
}).middleware

// ---------------------------------------------------------------------------

export {
  cacheRoute
}