2018-04-17 14:01:06 +02:00
|
|
|
import { Redis } from '../lib/redis'
|
2019-04-25 11:27:13 +02:00
|
|
|
import * as apicache from 'apicache'
|
2020-12-08 21:16:10 +01:00
|
|
|
import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes'
|
2018-04-17 14:01:06 +02:00
|
|
|
|
2019-04-25 11:27:13 +02:00
|
|
|
// Ensure Redis is initialized
|
|
|
|
Redis.Instance.init()
|
2018-05-23 10:03:26 +02:00
|
|
|
|
2020-01-09 16:51:51 +01:00
|
|
|
const defaultOptions = {
|
2019-04-25 11:27:13 +02:00
|
|
|
redisClient: Redis.Instance.getClient(),
|
2020-01-09 16:51:51 +01:00
|
|
|
appendKey: () => Redis.Instance.getPrefix(),
|
|
|
|
statusCodes: {
|
2020-12-08 21:16:10 +01:00
|
|
|
exclude: [
|
|
|
|
HttpStatusCode.FORBIDDEN_403,
|
|
|
|
HttpStatusCode.NOT_FOUND_404
|
|
|
|
]
|
2020-01-09 16:51:51 +01:00
|
|
|
}
|
2018-04-17 14:01:06 +02:00
|
|
|
}
|
|
|
|
|
2020-01-09 16:51:51 +01:00
|
|
|
const cacheRoute = (extraOptions = {}) => apicache.options({
|
|
|
|
...defaultOptions,
|
|
|
|
...extraOptions
|
|
|
|
}).middleware
|
2019-04-25 11:27:13 +02:00
|
|
|
|
2018-04-17 14:01:06 +02:00
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
export {
|
2018-07-24 14:35:11 +02:00
|
|
|
cacheRoute
|
2018-04-17 14:01:06 +02:00
|
|
|
}
|