Objective
The objective of this code is to connect to an API service over http2, then maintain that connection so I may be able to POST multipart form data to the 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);
});
The Issue
I looked over the HTTP module docs and I saw use cases in which when you associate the request with a variable, you could use request.write()
to send data, but I'm not entirely sure thats the right way to go about sending form-data. then I looked over the form-data
module with this example:
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);
});
But in this case, I want to send form-data AFTER Ive established a connection with the API service and while on the same connection, as the API Docs says
" After establishing the downchannel stream, your client must synchronize it’s components’ states with AVS. This requires making a POST request to //events on a new event stream on the existing connection (Note: Do not open a new connection). This event stream should be closed when your client receives a response (directive). The following is an example SynchronizeState event: "
So If I were to create another variable for another http2 request to another path using POST method, wouldn't that be creating a new connection?
I've successfully made a GET request to the API endpoint of that service, now it's a matter of POSTing form-data (multipart, if that makes a difference) to a different path while on the same existing connection.
Any help would be appreciated!
via Vikaton
No comments:
Post a Comment