mojax request cache middleware
npm install mojax-cachenpm install mojax mojax-cache --saveRequire the two modules into your code, and create your mojax request instance:
``js
var mojax = require("mojax")(),
cache = require("mojax-cache");
mojax.use(cache());
`
When you add middleware to a mojax instance, the middleware function gets added to an internal queue.
Every time you make a request, the request parameters you have provided are piped through each middleware.
Each middleware must return the request parameters object for the next middleware to be called. Not returning the request parameters object
(i.e. returning null or undefined) is how you can cancel a request.
The mojax request method respects the following flow:
1. make a request: req(params);
2. your request parameters are piped through each middleware
3. the middleware transform your request parameters
4. the final (transformed) request parameters are used to send the HTTP request
5. the HTTP request triggers callbacks, based on its progress
, which is the middleware function you want to add to mojax. That's all you need to do.#### inner workings
mojax-cache works by caching your successful GET requests by URL. The timestamp and body of each successful GET is cached.
When a new GET request is made, mojax-cache verifies if it has made the request before, if so it adds the
If-Modified-Since` header, wraps all onSuccess callbacks and adds a callback of it's own. From there, two things can happen:- server responds with 200: mojax-cache's callback will cache the successful request
- server responds with 304: mojax-cache fetches the response data from its internal cache, and provides that to the onSuccess callbacks.
--------
function ⏏objectmojax-cache function - cacheController middleware function objectobject config - request configuration object