rexuws
Version:
An express-like framework built on top of uWebsocket.js aims at simple codebase and high performance
39 lines (38 loc) • 1.07 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.bodyParser = exports.parse = void 0;
const qs_1 = __importDefault(require("qs"));
const parse = (ct, raw) => {
if (ct.startsWith('application/json') || ct === 'text/json') {
const json = JSON.parse(raw);
return json;
}
if (ct === 'application/octet-stream') {
return raw;
}
if (ct.startsWith('text/')) {
return raw.toString();
}
if (ct === 'application/x-www-form-urlencoded') {
return qs_1.default.parse(raw.toString());
}
return raw;
};
exports.parse = parse;
const bodyParser = (req, _, next) => {
const ct = req.header('content-type');
if (!req.raw || !ct) {
return next();
}
try {
req.body = exports.parse(ct, req.raw);
return next();
}
catch (err) {
return next(err);
}
};
exports.bodyParser = bodyParser;