@express-cc/server
v0.1.0
Published
An Express-based locking mechanism for resource locking functionality.
Downloads
33
Readme
@express-cc/server
An Express-based locking mechanism for resource locking functionality.
Installation
npm
npm i @express-cc/serveryarn
yarn add @express-cc/serverDependencies
This package requires Express as a peer dependency (version 4.16.0 or higher, but lower than 5.0.0).
Usage Example
import express from 'express';
import cors from 'cors';
import bodyParser from 'body-parser';
import { createCCserver } from '@express-cc/server';
const app = express();
const PORT = 3000;
const ccServer = createCCserver({
duration: 180, // 3 minutes
maxRenewals: 2, //2 renewals
cleanupInterval: 60, //1 minute
});
app.use('/cc', ccServer);
/* it may be also combined with middlware functions
e.g.: app.use('/cc',[fn1,fn2], ccServer);
*/
app.listen(PORT, () => {
console.log(`Concurrency Control Server is running on http://localhost:${PORT}/cc`);
});Result
Concurrency control endpoints exposed:
GET localhost:3000/cc/locks/{resourceType}/{resourceId} // acquire resource lockPATCH localhost:3000/cc/locks/{resourceType}/{resourceId} // renew resource lockDELETE localhost:3000/cc/locks/{resourceType}/{resourceId} // release resource lock
Module Formats
Supports both:
- CommonJS:
require('@express-cc/server') - ESM:
import { useLock } from '@express-cc/server'
License
MIT
