
- reduce http status codes list to potentially useful codes - convert more codes to typed ones - factorize html generator for error responses
28 lines
659 B
TypeScript
28 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
|
|
}
|