我正在开发一个基于 HTTP 驱动的基于 REST 的应用程序,该项目的需要是我必须在服务器端接收压缩的gzipped JSON 数据。有几个可用的模块演示了压缩响应并将它们发送回,但我没有找到任何显示如何解压缩服务器接收到的请求数据的东西。
问问题
654 次
1 回答
1
看起来这可能与koa-bodyparser
. 在后台koa-bodyparser
使用co-body
解析请求正文并在解析之前co-body
使用inflate
包对请求正文进行膨胀。
以下代码:
const koa = require('koa');
const app = new koa();
const bodyParser = require('koa-bodyparser');
app.use(bodyParser());
app.use(function(ctx) {
ctx.body = ctx.request.body.test;
})
app.listen(3000);
和以下请求
curl \
-H 'content-type: application/json' \
-H 'Content-Encoding: gzip' \
-XPOST \
--data-binary @data.json.gz \
localhost:3000
使用 gzip 压缩的 data.json(原始如下所示):
{
"test": "data"
}
一切都按预期工作。
于 2017-06-18T13:50:30.790 回答