Koa-OAI-Router-Cache
Request form cache plugin for koa-oai-router.
Installation
Multi-strategy object caching service depends on catbox.
npm i koa-oai-router-cache catbox-redis --save
Info
field | type | info |
---|---|---|
name | string |
cache |
evoked fields | string |
x-oai-cache |
evoked value | object |
enable , expire |
options | object |
hit , key , value |
-
evoked value
object
enable
boolean
enable cache, defaulttrue
expire
string|number
ttl1. ms, milli, millisecond, milliseconds - will parse to milliseconds 2. s, sec, secs, second, seconds - will parse to seconds 3. m, min, mins, minute, minutes - will parse to minutes 4. h, hr, hrs, hour, hours - will parse to hours 5. d, day, days - will parse to days 6. w, week, weeks - will parse to weeks 7. mon, mth, mths, month, months - will parse to months 8. y, yr, yrs, year, years - will parse to years
uid
boolean
get uid as cache key, defaultfalse
.memory
boolean
use memory cache,100MB
max.
-
options
object
hit
object | boolean
false
not response header.true
responses headerx-oai-hit
: true.string
response header with custom key.uid
function
uid key builder. having args (ctx) and must returnstring
key
function
cache key builder. having args (ctx) and must return{id, segment}
keyInParameters
boolean
only build cache key in parameters, defaulttrue
value
function
cache value builder. having args (ctx) and must return{type, value}
Usage
Simple code:
const Koa = ;const Router = ;const middlewareLoader = ;const cacheHandler = ;const catboxRedis = ; const app = ;const router = apiDoc: './api'; router; router;router; app;app;
/pets-string: get: description: "Returns all pets from the system that the user has access to" operationId: "findPets" produces: - "application/json" tags: - pets parameters: - name: "name" in: "query" required: true type: "string" # configure api cache here x-oai-cache: expire: 10s x-oai-middleware: - file: pets handler: replyString responses: "200": description: "pet response" schema: type: "array" items: $ref: "#/definitions/Pet" default: description: "unexpected error"