Skip to content

Commit

Permalink
Bring back cache stuff to mitigate Wordnik API limits.
Browse files Browse the repository at this point in the history
  • Loading branch information
jimkang committed Jul 13, 2019
1 parent 6c7f8c4 commit bd39caa
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 1,301 deletions.
40 changes: 40 additions & 0 deletions cached-named-levels-class.js
@@ -0,0 +1,40 @@
var getNamedLevelsClass = require('./named-levels-class');
var level = require('level');
var callNextTick = require('call-next-tick');

var db = level(__dirname + '/data/named-levels-classes.db', {
keyEncoding: 'json',
valueEncoding: 'json'
});

function cachedGetNamedLevelsClass(opts, done) {
db.get(opts, checkGet);

function checkGet(error, profile) {
if (error && error.type === 'NotFoundError') {
getNamedLevelsClass(opts, saveResult);
} else if (error) {
done(error);
} else {
done(error, profile);
}
}

function saveResult(error, profile) {
if (error) {
done(error);
} else {
db.put(opts, profile, passProfile);
}

function passProfile(error) {
if (error) {
done(error);
} else {
done(error, profile);
}
}
}
}

module.exports = cachedGetNamedLevelsClass;
2 changes: 1 addition & 1 deletion namedlevels-api.js
@@ -1,7 +1,7 @@
#!/usr/bin/env node

var restify = require('restify');
var getNamedLevelsClass = require('./named-levels-class');
var getNamedLevelsClass = require('./cached-named-levels-class');
var getRandomClassName = require('./get-random-class-name');

function respond(req, res, next) {
Expand Down

0 comments on commit bd39caa

Please sign in to comment.