📅  最后修改于: 2023-12-03 15:17:54.816000             🧑  作者: Mango
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
属性将返回一个空数组。