]>
Commit | Line | Data |
---|---|---|
20bafcb6 | 1 | import { HttpStatusCode } from '../../../shared/models/http/http-error-codes' |
20bafcb6 C |
2 | import { ApiCache, APICacheOptions } from './shared' |
3 | ||
20bafcb6 C |
4 | const defaultOptions: APICacheOptions = { |
5 | excludeStatus: [ | |
6 | HttpStatusCode.FORBIDDEN_403, | |
7 | HttpStatusCode.NOT_FOUND_404 | |
8 | ] | |
9 | } | |
10 | ||
11 | function cacheRoute (duration: string) { | |
12 | const instance = new ApiCache(defaultOptions) | |
13 | ||
14 | return instance.buildMiddleware(duration) | |
15 | } | |
16 | ||
17 | function cacheRouteFactory (options: APICacheOptions) { | |
18 | const instance = new ApiCache({ ...defaultOptions, ...options }) | |
19 | ||
20 | return instance.buildMiddleware.bind(instance) | |
21 | } | |
22 | ||
23 | // --------------------------------------------------------------------------- | |
24 | ||
25 | export { | |
26 | cacheRoute, | |
27 | cacheRouteFactory | |
28 | } |