我正在寻找打开HTTP / 2流并使用该流发出多个HTTP / 2 POST请求。每个POST请求都会有自己的主体有效负载。
我目前有以下代码,该代码适用于不需要有效负载的请求,但是我不确定如何为需要有效负载的请求自定义它。
我已经阅读了RFC 7540和关于SO的几乎所有相关文章,但是我仍然发现很难使用有效内容正文来编写HTTP / 2 的工作代码。
例如:
。
const http2 = require('http2')
const connection = http2.connect('https://www.example.com:443')
const stream = connection.request({
':authority':'www.example.com',
':scheme':'https',
':method': 'POST',
':path': '/custom/path',
}, { endStream: false })
stream.setEncoding('utf8')
stream.on('response', (headers) => {
console.log('RESPONSE', headers)
stream.on('data', (data) => console.log('DATA', data))
stream.on('end', () => console.log('END'))
})
stream.write(Buffer.from('POST-request-payload-body-here?'))
答案 0 :(得分:0)
var buffer = new Buffer(JSON.stringify(body));
const stream = connection.request({
':authority':'www.example.com',
':scheme':'https',
':method': 'POST',
':path': '/custom/path',
'Content-Type': 'application/json',
'Content-Length': buffer.length
}, { endStream: false })
stream.end(JSON.stringify(body));