Sunday, 18 August 2013

python http request equivalent in node

python http request equivalent in node

I am having trouble sending post request in node.js http.request. I send
similar requests in python to same endpoint and it works.
PYTHON Request works:
def updateData (self, context, query):
params = { 'update': query, 'context' : context }
endpoint = self.getEndpointStatements(params)
headers = {
'content-type': 'application/x-www-form-urlencoded',
'accept': 'application/sparql-results+json'
}
(response, content) = httplib2.Http().request(endpoint, 'POST',
urllib.urlencode(params), headers=headers)
def getEndpointStatements (self, params):
endpoint = 'http://example.com/statements?%s" %
(urllib.urlencode(params))
return endpoint
This works
Howver, I try to create a node HTTP request, I keep getting "socket hangup
error". I upgraded to 0.10.x
var querystring = require('querystring');
var data = querystring.stringify({
update: sparqlQ
});
console.log(data)
var options = {
host: process.env['SESAME_HOST'],
port: process.env['SESAME_PORT'],
method: 'POST',
path: '/openrdf-sesame/repositories/repo/statements/',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': data.length
},
};
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log("body: " + chunk);
});
});
req.write(data);
req.end();
Please help me fix request in node.js. Python request works.

No comments:

Post a Comment