-
Notifications
You must be signed in to change notification settings - Fork 1
/
session-cache.js
47 lines (38 loc) · 863 Bytes
/
session-cache.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
'use strict'
const
_ = require('underscore')._;
class SessionCache {
constructor() {
console.log("========= Session Cache Constructor =========");
this.sessionMap = {};
}
insertSession(sessionId, res) {
this.sessionMap[sessionId] = res;
}
popSessionResponse(sessionId) {
var response = this.sessionMap[sessionId];
if (response)
this._deleteSession(sessionId);
return response;
}
_deleteSession(sessionId) {
delete this.sessionMap[sessionId];
}
printMapResponses() {
_.each(this.sessionMap, function(response) {
console.log(response);
});
}
}
const Singleton = (function() {
var instance;
return {
getInstance: function() {
if (!instance) {
instance = new SessionCache();
}
return instance;
},
};
})();
module.exports = Singleton.getInstance();