I'm beginer programer and I have some troubles with server's response.
Basicly I'm using Express to make it work but it doesn't and returns me 'undefined' in request.body in client server file.
Here's my router code on server. This code is working fine and sending good response in postman:
child = childProcess.exec('javac code.java', function (err, output, outerr) {
if (err) {
console.log(err.message);
res.end(err.message);
}
else if (outerr) {
res.end(outerr);
}
else if (output) {
childProcess.exec('java code', function (err, output, outerr) {
if (err) {
res.end(err.message);
}
else if (outerr) {
res.end(outerr);
}
else if (output) {
res.end(output);
}
...And the closing quotes
Here's other, client server. This server is making a request to the server above, with java code in body to execute it.
It's sending empty response and in console it's saying 'recived response: undefined'
router.post('/codeEditor', function (req, res) {
var request = http.request({port: 8000, method: 'POST', path: '/java', headers:{'Content-type':'application/json'}}, function (response) {
console.log('recived response: '+ response.body);
res.end(response.body);
});
request.write(JSON.stringify({'sample':'sample'}));
request.end();
request.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
});
The request.write(JSON.stringify({'sample':'sample'}));
is for test purposes, as it should be passing req.body object.
I've got installed body.parser and it looks like this:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var router = require('./routes');
app.use(bodyParser.json({type: 'application/json'}));
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.text({type: '*/*'}));
app.use('/', router);
app.listen(8000, function () {
console.log('server listening on port 8000');
});
So I have no clue what is happening here Thanks for any help! :)