body-parser-jumbo

Node.js body parsing middleware for BigInt.

Parse incoming request bodies in a middleware before your handlers, availableunder the req.body property.

Megjegyzés Mivel a req.body alakja a felhasználó által vezérelt bemeneten alapul, ennek az objektumnak minden tulajdonsága és értéke megbízhatatlan, és validálni kell a megbízás előtt. Például a req.body.foo.toString() többféleképpen is hibázhat, például a foo tulajdonság lehet, hogy nem létezik, vagy lehet, hogy nem egy karakterlánc,és a toString lehet, hogy nem egy függvény, hanem egy karakterlánc vagy más felhasználói bemenet.

Installáció

$ npm i body-parser-jumbo

API

var bodyParser = require('body-parser-jumbo')

A bodyParserJumbo Douglas Crockford JSON.js csomagján és a bignumber.js könyvtáron alapul.

Natív Bigint nemrég került a JS-be, ezért adtunk egy lehetőséget a bignumber.js helyett ennek kihasználására. A natív BigInt-tel való elemzést azonban megtartjuk opcióként a visszafelé kompatibilitás érdekében.

Míg a legtöbb JSON elemző feltételezi, hogy a numerikus értékek pontossági korlátozása megegyezik az IEEE 754 double-éval, a JSON specifikáció nem mond semmit a számok pontosságáról. Bármilyen lebegőpontos szám decimális (opcionálisan tudományos) jelöléssel érvényes JSON-érték. Jó ötlet, ha a JSON api-ban az IEEE 754 egész szám pontosságából esetleg kieső értékeket stringként szerializáljuk, de például a { "value" : 9223372036854775807} még mindig érvényes RFC4627 JSON string, és a legtöbb JS futtatóban a JSON.parse eredménye ez az objektum: { value: 9223372036854776000 }

License

MIT

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.