Какие типы bodyParser. json ({}) поддерживает? - PullRequest
0 голосов
/ 31 марта 2020

Мне нужно отправить на сервер в node.js сжатие json (gzip).

Какой тип мне нужно отправить, чтобы получить поддержку bodyParser.json({}) и получить автомат c раздувать? а также «какой тип мне нужно поместить в 'Content-Type' в заголовке?

Я пытался сжать до arrayBuffer и создать из него Uint8Array, но на сервере: req.body пусто.

клиент реагирует. js:

compress(input) {
  const stream = new Response(input).body.pipeThrough(
    new CompressionStream('gzip')
  )
  return new Response(stream).arrayBuffer()
}

const fetch = async w => {
  const bodyContent = await compress(
    JSON.stringify({
      name: 'name',
      data: 'data'
    })
  )
  var uint8View = new Uint8Array(bodyContent)

  return fetch(url, {
    headers: {
      'Content-Type': 'text/html; charset=UTF-8',
      'content-encoding': 'gzip'
    },
    method: 'POST',
    body: uint8View
  }).then(res => res.blob())
}

сервер node.js:

app.use(
  bodyParser.json({
    limit: "5mb"
  })
);

app.post("/",(req, res) => {
  console.log("req.body", req.body);//{}
});
...