UNPKG

uspring

Version:

A very fast Webserver which has interface like springboot

51 lines (50 loc) 1.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var fast_json_parse_1 = __importDefault(require("fast-json-parse")); function jsonParserP(res, req, next) { var buffer; res.onData(function (ab, isLast) { var chunk = Buffer.from(ab); if (isLast) { var json = void 0; if (buffer) { try { json = fast_json_parse_1.default(Buffer.concat([buffer, chunk])); } catch (e) { /* res.close calls onAborted */ res.close(); return; } next(true); } else { try { var str = chunk.toString(); json = JSON.parse(str); } catch (e) { /* res.close calls onAborted */ res.close(); return; } req.body = json; next(true); } } else { if (buffer) { buffer = Buffer.concat([buffer, chunk]); } else { buffer = Buffer.concat([chunk]); } } }); /* Register error cb */ res.onAborted(next); } exports.jsonParserP = jsonParserP;