UNPKG

koa-session-memcached

Version:
68 lines (52 loc) 1.07 kB
/**! * koa-session - index.js * Made in 2016 * MIT Licensed * * Authors: * joe-tom <josepht404gmail.com> */ 'use strict'; /** * Module dependencies. */ var EventEmitter = require('events').EventEmitter; var Memcached = require('node-memcached'); /* @param options - {Object} memcached - */ module.exports = function MemcachedStore(options){ //Make sure we can access the prototype functions.. if (!(this instanceof MemcachedStore)) { return new MemcachedStore(options); } this.memcached = options.memcached; } /* * Get */ MemcachedStore.prototype.get = function(sid){ var _this = this; return new Promise(function(resolve,reject){ _this.memcached.gets(sid, (err, data) => { if(err) reject(err); else resolve(data); }); }); } /* * Set */ Memcached.prototype.set = function(sid,sess,ttl){ this.memcached.set(sid,sess,parseFloat(ttl)/1000); } /* * Destroy */ Memcached.prototype.destroy = function(sid){ this.memcahed.del(sid); }