Node.js supertest发布了gzip压缩数据

时间:2013-07-24 18:47:35

标签: javascript node.js express supertest

我想编写一个测试,将一些压缩数据发布到网址,如下所示,但它不起作用:

    zlib.gzip('foo_bar_data', function (err, buffer) {
        request(app)
            .post('/foo/bar')
            .set('Content-Encoding', 'gzip')
            .send(buffer)
            .expect(200)
            .end(function(err, res){
                if (err) return done(err);
                //various other validations here
                done();
            });
    });

我认为问题是send不接受缓冲区。我仍然希望expect()和end()方法有效。

1 个答案:

答案 0 :(得分:3)

zlib.gzip('foo_bar_data', function (err, buffer) {
        var ra = request(app)
            .post('/foo/bar')
            .set('Content-Encoding', 'gzip');
        ra.write(buffer);
        ra.expect(200);
        ra.end(function(err, res){
                if (err) return done(err);
                //various other validations here
                done();
            });
    });