openam-agent-cache-couchdb
Cache using CouchDB for the OpenAM Policy Agent for NodeJS
Installation: npm install openam-agent-cache-couchdb
API Docs
Cache
CouchDBCache ⇐ Kind: global class
Extends: Cache
-
CouchDBCache ⇐
Cache
- new CouchDBCache([options])
-
.get(key) ⇒
Promise
-
.put(key, value) ⇒
Promise
-
.remove(key) ⇒
Promise
-
.quit() ⇒
Promise
new CouchDBCache([options])
Cache implementation for CouchDB
Param | Type | Default | Description |
---|---|---|---|
[options] | object |
Options | |
[options.protocol] | string |
"http" |
CouchDB protocol (http |
[options.host] | string |
"http://localhost" |
CouchDB host |
[options.port] | string |
5984 |
CouchDB port |
[options.db] | string |
"openamagent" |
CouchDB database name |
[options.auth] | object |
CouchDB auth credentials | |
[options.auth.username] | string |
CouchDB user name | |
[options.auth.password] | string |
CouchDB password | |
[options.expireAfterSeconds] | number |
60 |
Expiration time in seconds |
Example
var couchDBCache = new CouchDBCache({
host: 'db.example.com',
port: 5984,
auth: {
username: 'admin',
password: 'secret123'
},
expireAfterSeconds: 600
});
Promise
couchDBCache.get(key) ⇒ Get a single cached item If the entry is not found, reject
Kind: instance method of CouchDBCache
Param | Type |
---|---|
key | string |
Example
couchDBCache.get('foo').then(function (cached) {
console.log(cached);
}).catch(function (err) {
console.error(err);
});
Promise
couchDBCache.put(key, value) ⇒ Store a single cached item (overwrites existing)
Kind: instance method of CouchDBCache
Param | Type |
---|---|
key | string |
value | * |
Example
couchDBCache.put('foo', {bar: 'baz'}).then(function () {
console.log('foo saved to cache');
}).catch(function (err) {
console.error(err);
});
Promise
couchDBCache.remove(key) ⇒ Remove a single cached item
Kind: instance method of CouchDBCache
Param | Type |
---|---|
key | string |
Example
couchDBCache.remove('foo').then(function () {
console.log('foo removed from cache');
}).catch(function (err) {
console.error(err);
});
Promise
couchDBCache.quit() ⇒ This should close the database connection but it doesn't do anything because connection.close() is broken...
Kind: instance method of CouchDBCache
DISCLAIMER
The sample code described herein is provided on an "as is" basis, without warranty of any kind, to the fullest extent permitted by law. ForgeRock does not warrant or guarantee the individual success developers may have in implementing the sample code on their development platforms or in production configurations.
ForgeRock does not warrant, guarantee or make any representations regarding the use, results of use, accuracy, timeliness or completeness of any data or information relating to the sample code. ForgeRock disclaims all warranties, expressed or implied, and in particular, disclaims all warranties of merchantability, and warranties related to the code, or any service or software related thereto.
ForgeRock shall not be liable for any direct, indirect or consequential damages or costs of any type arising out of any action taken by you or others related to the sample code.