📜  Node.js Http2ServerRequest.rawTrailers 方法(1)

📅  最后修改于: 2023-12-03 15:17:54.816000             🧑  作者: Mango

Node.js Http2ServerRequest.rawTrailers 方法

简介

Node.js Http2ServerRequest.rawTrailers 方法是用于获取 HTTP/2 请求中所有未解析的尾部帧信息的方法。

语法
request.rawTrailers
返回值

一个字符串数组,包含所有未解析的尾部帧信息。

示例

以下是一个使用 rawTrailers 方法的简单示例:

const http2 = require('http2');
const server = http2.createSecureServer();

server.on('stream', (stream, headers) => {
  const chunks = [];
  stream.on('data', (chunk) => {
    chunks.push(chunk);
  });

  stream.on('end', () => {
    const data = Buffer.concat(chunks).toString();
    console.log('Request body:', data);
    console.log('Raw trailers:', stream.rawTrailers);
    stream.respond({ ':status': 200 });
    stream.end('Hello World!');
  });
});

server.listen(8443);

在上述代码中,当收到一个流时,我们通过添加数据到 chunks 数组,将请求主体保存在缓冲区中,然后在流结束时将所有接收到的数据连结在一起。我们使用 console.log 函数来输出请求主体和 rawTrailers,然后在结束时发送响应以关闭连接。

注意事项

请注意,尾部帧是 HTTP/2 协议的选项,因此不是所有的客户端都支持该功能。如果客户端未发送尾部帧,则 request.rawTrailers 属性将返回一个空数组。

参考链接
  • Node.js Http2ServerRequest API: https://nodejs.org/api/http2.html#http2_class_http2serverrequest
  • HTTP/2 协议: https://http2.github.io/