打开http / 2连接并发布表单数据

目的

此代码的目标是通过http2连接到API服务,然后维护该连接,以便可以将多部分表单数据发布到API:

let options = { port: 443, hostname: 'avs-alexa-na.amazon.com', path: '/v20160207/directives', method: 'GET', headers: { 'Authorization': 'Bearer ' + JSON.parse(localStorage.getItem('CREDS')).access_token, } } var request = require('http2').request(options) request.on('response', function(response) { console.log(response) if (response.statusCode == 403) { //handle invalid token } else { //now lets make a POST request with form-data } //response.on('end', finish); }); 

问题

我查看了HTTP模块文档,并且看到了将请求与一个variables相关联的用例,您可以使用request.write()发送数据,但是我不完全相信这是正确的发送方式forms的数据。 然后我看看这个例子中的form-data模块:

 var request = http.request({ method: 'post', host: 'example.org', path: '/upload', headers: form.getHeaders() }); form.pipe(request); request.on('response', function(res) { console.log(res.statusCode); }); 

但在这种情况下,我希望在APIbuild立与API服务的连接之后发送表单数据,并且在相同的连接上发送API文档

“在build立downchannelstream之后,客户端必须将它的组件状态与AVS同步,这需要在现有连接的新事件stream上发出POST请求到/ {{API version}} / events(注意:不要打开新的连接),当你的客户端收到响应(指令)时,这个事件stream应该被closures,下面是一个SynchronizeState事件的例子:

所以如果我使用POST方法创build另一个variables到另一个path的另一个http2请求,是不是会创build一个新的连接?

我已经成功地向该服务的API端点发出了一个GET请求,现在,在相同的现有连接上,将一个form-data(multipart,如果有区别的话)发送到不同的path,这是一个问题。

任何帮助,将不胜感激!