@node-idempotency/express
Version:
Express middleware to provide Race-Condition free idempotency for HTTP requests, preventing unintended duplicate operations.
30 lines • 960 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const express = require("express");
const bodyParser = require("body-parser");
const test_controller_1 = require("./test.controller");
const index_1 = require("../../../../src/index");
function errorHandler(err, _, res, next) {
if (res.headersSent) {
next(err);
return;
}
const { statusCode } = res;
res
.status(statusCode >= 400 ? statusCode : 500)
.json({ ...err, message: err.message });
}
exports.default = async () => {
const app = express();
app.use(bodyParser.json());
const middleware = await (0, index_1.idempotencyAsMiddleware)({
storage: { adapter: index_1.StorageAdapterEnum.memory },
enforceIdempotency: true,
keyMaxLength: 3,
});
app.use(middleware);
(0, test_controller_1.default)(app);
app.use(errorHandler);
return app;
};
//# sourceMappingURL=test.module.js.map