Caching Client
Caching Client (HTTP Client using the Cache API).
Available functions
-
constructor
: Doingnew CachingClient
you can pass the following options:-
cacheVersion
: Default 1 -
currentCache
: Default 'read-through' -
jsonSchemaRelHeader
: Default 'rel='describedBy'' -
jsonSchemaEnvelopType
: Default 'https://api.openteams.com/json-schema/Envelope'
-
-
clearCache
: Removes any entry in the managed cache store. -
clearUnknownCache
: Removes any entry in caches not being managed by the client. -
Requests (
GET
,OPTIONS
,POST
,PUT
,DELETE
): Each request can be used calling its respective function (i.eget(...)
,options(...)
,post(...)
,put(...)
, anddelete(...)
).The parameters for the available functions are:
-
url
: URL to fetch. -
body
: Content of the request (in the case ofPOST
orPUT
requests). -
options
: To add or override the options used to fetch the given URL (headers
,mode
,method
, etc.). It is a key-value object. Also you can add ajson
option if you want to get the response JSON parsed body only i.e{json: true}
-
Build lib
To build a lib to be used in the browser you can use npm run build:lib
this will create the index.js
file that can be used from an HTML file with a script tag like <script type="text/javascript" src="index.js"></script>
Use the package
To use the package you need to install it from the source with something like npm install --save <path to source>
After that, you can use something like import CachingClient from 'caching-client'
Demo Setup
To play with the caching client you can use the http-server
package:
npm install http-server -g
And under the demo
directory:
http-server -p 3000
To build the demo after doing changes to the source code you can run npm run build:demo
Demo
- Follow the setup above.
- Go to http://localhost:3000
- Open the console in your browser.
- Create an instance of the Caching Client:
client = cachingClient.default()
- Run something like
await cachingClient.get("https://jsonplaceholder.typicode.com/users/1/todos", true)
. - Check with the browser devtools the Cache Storage section (in the case of Mozilla to update the cache view you need to close and reopen the devtool panel).