mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			29 lines
		
	
	
		
			659 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			659 B
		
	
	
	
		
			TypeScript
		
	
	
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
 | 
						|
}
 |