1.0.1 • Published 10 years ago
size-stream v1.0.1
size-stream 
Count the size of a stream in bytes.
Node's res object doesn't expose knowledge about the response size that it's
sending. By counting the bytes passed to res it's now possible to retrieve
both the size (e.g. for logging) and properly set the Content-Length header.
Installation
$ npm install size-streamUsage
const httpNdjson = require('http-ndjson')
const sizeStream = require('size-stream')
const stdout = require('stdout-stream')
const pump = require('pump')
const http = require('http')
http.createServer((req, res) => {
const httpLogger = httpNdjson(req, res)
pump(httpLogger, stdout)
const size = sizeStream()
size.once('size', function (size) {
httpLogger.setSize(size)
res.setHeader('Content-Length', size)
})
pump(req, router(req, res), size, res)
}).listen()API
size = sizeStream(res)
Create a PassThrough stream.
size.on('size', cb(size))
Emits the total stream size in bytes when the stream ends.