|
|
var common = require('../test/common'), http = require('http'), util = require('util'), formidable = common.formidable, Buffer = require('buffer').Buffer, port = common.port, server;
server = http.createServer(function(req, res) { if (req.method !== 'POST') { res.writeHead(200, {'content-type': 'text/plain'}) res.end('Please POST a JSON payload to http://localhost:'+port+'/') return; }
var form = new formidable.IncomingForm(), fields = {};
form .on('error', function(err) { res.writeHead(500, {'content-type': 'text/plain'}); res.end('error:\n\n'+util.inspect(err)); console.error(err); }) .on('field', function(field, value) { console.log(field, value); fields[field] = value; }) .on('end', function() { console.log('-> post done'); res.writeHead(200, {'content-type': 'text/plain'}); res.end('received fields:\n\n '+util.inspect(fields)); }); form.parse(req); }); server.listen(port);
console.log('listening on http://localhost:'+port+'/');
var request = http.request({ host: 'localhost', path: '/', port: port, method: 'POST', headers: { 'content-type':'application/json', 'content-length':48 } }, function(response) { var data = ''; console.log('\nServer responded with:'); console.log('Status:', response.statusCode); response.pipe(process.stdout); response.on('end', function() { console.log('\n') process.exit(); }); // response.on('data', function(chunk) {
// data += chunk.toString('utf8');
// });
// response.on('end', function() {
// console.log('Response Data:')
// console.log(data);
// process.exit();
// });
})
request.write('{"numbers":[1,2,3,4,5],"nested":{"key":"value"}}'); request.end();
|