Expressjs / connect – 模拟缓慢的file upload
有没有一种方式来设置连接或expression模式或价值模拟慢速file upload?
首先,安装node-limiter
然后创build一个Transform
stream,将节stream任何Stream
s:
var util = require('util'); var Transform = require('stream').Transform; var TokenBucket = require('limiter').TokenBucket; function BucketStream(rate, interval, parentBucket, options) { Transform.call(this, options); this.bucket = new TokenBucket(Number.POSITIVE_INFINITY, rate, interval, parentBucket); } util.inherits(BucketStream, Transform); BucketStream.prototype._transform = function(chunk, encoding, callback) { this.bucket.removeTokens(chunk.length, function(err) { callback(err, chunk); }); };
然后请求是一个ReadableStream
:
var bucketStream = new BucketStream(1024 * 500, 'second'); // 500KB/sec req.pipe(bucketStream);
现在从bucketStream
(而不是req)快速读取,你只能得到500KB /秒
我做了这个在我头上,所以要小心:)
- Node.js在会话过期Express&Passport上运行function
- PassportJS – 自定义callback并将Session设置为false
- 在使用作业队列(kue / node / express)时将响应发送回请求者
- 在服务器端Node.JS上倒数一次,并发送一个页面的响应
- 在集群模式下运行pm2redirect后,req.session数据丢失
- 为什么我的req.user在加载时始终为空?
- 如果函数不使用任何I / O,NodeJSasynchronous函数的目的是什么?
- req.logout()或req.session.destroy()不起作用
- app.post的第一个string参数是做什么的?