diff --git a/docs/pages/usage-examples.md b/docs/pages/usage-examples.md index afb85c2..986a0f9 100644 --- a/docs/pages/usage-examples.md +++ b/docs/pages/usage-examples.md @@ -71,22 +71,27 @@ const app = express(); const Axios = require('axios'); const { setupCache } = require('axios-cache-interceptor'); -const api = setupCache(Axios.create(), { - baseUrl: 'https://jsonplaceholder.typicode.com/', - cache: { - interpretHeader: true, // Cache-Control, Expires, etc. - ttl: 5 * 60 * 1000, // 5 seconds - etag: true, // Enables ETag caching - ifModifiedSince: true // Enables If-Modified-Since caching +const api = setupCache( + Axios.create({ baseURL: 'https://jsonplaceholder.typicode.com/' }), + { + ttl: 5 * 1000 // 5 seconds } -}); +); // Every time an api call reaches here, it will // make another internal request and forward the response. app.get('/', (req, res) => { - api.get('https://jsonplaceholder.typicode.com/users').then( - ({ data, cached }) => { - res.json({ cached, data }); + api.get('/users').then( + ({ data, cached, id }) => { + res.json({ + cached, + id: { + value: id, + deleteUrl: `/cache/${id}/delete`, + getUrl: `/cache/${id}/get` + }, + data + }); }, (error) => { res.json({ error }); @@ -94,5 +99,18 @@ app.get('/', (req, res) => { ); }); +app.get('/cache/:id/delete', async (req, res) => { + await api.storage.remove(req.params.id); + res.send({ + status: 'Deleted!', + current: await api.storage.get(req.params.id) + }); +}); + +app.get('/cache/:id/get', async (req, res) => { + const cache = await api.storage.get(req.params.id); + res.json(cache); +}); + app.listen(3000); ``` diff --git a/src/storage/build.ts b/src/storage/build.ts index d52fa9a..236fb43 100644 --- a/src/storage/build.ts +++ b/src/storage/build.ts @@ -62,9 +62,9 @@ export function buildStorage({ set, find, remove }: BuildStorage): AxiosStorage Header.XAxiosCacheLastModified in value.data.headers) ) { const stale: StaleStorageValue = { - data: value.data, state: 'stale', - createdAt: value.createdAt + createdAt: value.createdAt, + data: value.data }; await set(key, stale); return stale;