Connect middleware to convert parameter values to native types
It relies on req.body parsed by connect.bodyParser.
"3" -> 3
"3.5" -> 3.5 # decimal point is localizable
"3,545" -> 3545 # thousands seperator is localizable
"false" -> false
"true" -> true
"null" -> null
"undefined" -> undefined
"" -> undefined
Defaults (thousands_seperator = ',', decimal_point = '.')
var connect = require('connect');
var typedBody = require('connect-typed-body');
var app = connect();
app.use(connect.bodyParser); // important must come before typedBody
app.use(typedBody());
app.use( function(req, res){
res.end JSON.stringify(req.body)
});
Localized
var connect = require('connect');
var typedBody = require('connect-typed-body');
var app = connect();
app.use(connect.bodyParser); // important must come before typedBody
app.use(typedBody({thousands_seperator: '.', decimal_point: ','}));
app.use( function(req, res){
res.end JSON.stringify(req.body)
});
Dynamic overwrite
var connect = require('connect');
var typedBody = require('connect-typed-body');
var app = connect();
app.use(connect.bodyParser); // important must come before typedBody
app.use( function(req, res,next){
if(req.locale == "de_DE"){
req.decimal_point = ',' ;
req.thousands_seperator = '.';
}
next();
});
app.use(typedBody());
app.use( function(req, res){
res.end JSON.stringify(req.body)
});
Copyright (c) 2012 Marc Rene Arns. See LICENSE.txt for further details.