Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including axios-cache-interceptor with all npm packages installed. Try it out:

/* eslint-disable */ const { create: createAxios } = require('axios').default; const { setupCache } = require('axios-cache-interceptor'); const { log } = console; // // Complete documentation at: // https://axios-cache-interceptor.js.org/ // (async () => { const axios = setupCache( // creating axios instance createAxios({ baseURL: 'https://registry.npmjs.org/' }), // configuring the cache { ttl: 99999, interpretHeader: true } ); const fetchedResponse = await axios.get('/axios-cache-interceptor'); // fetchedResponse.cached == false // // The next request won't do a network request, because the response is already cached // const cachedResponse = await axios.get('/axios-cache-interceptor'); // cachedResponse.cached == true log(`First request was ${fetchedResponse.cached ? 'cached' : 'fetched'}`); log(`Second request was ${cachedResponse.cached ? 'cached' : 'fetched'}`); // // The interpretHeader option used a different strategy, see the received Cache-Control header // (server may return undefined if this is the first request in a while :)) // log(`Fetched response Cache-Control: ${fetchedResponse.headers['cache-control']}`); log(`Fetched response Age: ${fetchedResponse.headers['age']}`); const cacheInformation = await axios.storage.get(fetchedResponse.id); // // As you can see, the TTL used was the maxAge cache directive minus the Age header // log(`Cache TTL info: ${cacheInformation.ttl}`); // // If you disable the interpretHeader option you'll see that the TTL will be the default (99999)\n // // Remove the old cache by brute force await axios.storage.remove(fetchedResponse.id); const refetchedResponse = await axios.get('/axios-cache-interceptor', { cache: { // This time with interpretHeader disabled interpretHeader: false } }); const refetchedInformation = await axios.storage.get(refetchedResponse.id); log(`Third request TTL: ${refetchedInformation.ttl}`); })().catch(console.error);

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

axios-cache-interceptor v1.3.2

Cache interceptor for axios

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free