📜  Node.js http2stream.close() 方法(1)

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

Node.js http2stream.close()方法

在 Node.js 中,http2stream.close() 方法用于关闭 HTTP2 流。

语法

以下是 http2stream.close() 方法的语法:

http2Stream.close([code], [reason], [headers])

参数说明:

  • code:可选,关闭流时应该发送的错误码。 如果省略,则使用默认值NGHTTP2_NO_ERROR。 错误码是一个整数,根据 HTTP2 规范 中定义的值进行计算。
  • reason:可选,HTTP/2STREAM_STATE_CLOSED 原因。
  • headers:可选,将请求头和响应头作为此流的结尾发送给远程节点。
返回值

该方法没有返回值。

示例

以下代码示例演示了如何使用 http2stream.close() 方法:

const http2 = require('http2');

const server = http2.createSecureServer({
  key: fs.readFileSync('localhost-privkey.pem'),
  cert: fs.readFileSync('localhost-cert.pem')
});

server.on('stream', (stream, headers) => {
  stream.respond({
    'content-type': 'text/html',
    ':status': 200
  });

  stream.end('<h1>Hello World</h1>');
});

server.listen(3000);

server.on('session', (session) => {
  session.on('stream', (stream) => {
    stream.respond({
      ':status': 200,
      'content-type': 'text/html'
    });
    
    stream.write('<h1>Stream</h1>');
    stream.write('This is a stream');
    
    stream.end(() => {
      console.log('stream finished successfully!');
      stream.close();
      console.log('stream successfully closed!');
    });
  });
});

在此示例中,我们使用 http2Stream.close() 方法来关闭 HTTP2 流。在流结束时,我们先打印“stream finished successfully!”以确认流成功关闭,然后调用 http2Stream.close() 方法关闭流。最后,我们再次打印“stream successfully closed!”以确认流已被成功关闭。

参考链接